本文整理汇总了C++中Assets_Header::setStylesheet方法的典型用法代码示例。如果您正苦于以下问题:C++ Assets_Header::setStylesheet方法的具体用法?C++ Assets_Header::setStylesheet怎么用?C++ Assets_Header::setStylesheet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Assets_Header
的用法示例。
在下文中一共展示了Assets_Header::setStylesheet方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: public_index
string public_index (void * webserver_request)
{
Webserver_Request * request = (Webserver_Request *) webserver_request;
// If the person providing public feedback is not logged in, foward to the page for entering details.
if (!request->session_logic ()->loggedIn ()) {
redirect_browser (request, public_login_url ());
return "";
}
// Take the Bible for this user, and ensure that it is one of the Bibles that have public feedback enabled.
string bible = request->database_config_user()->getBible ();
vector <string> public_bibles = public_logic_bibles (webserver_request);
if (!in_array (bible, public_bibles)) {
bible.clear ();
if (!public_bibles.empty ()) {
bible = public_bibles [0];
}
request->database_config_user()->setBible (bible);
}
// Switch Bible before displaying the passage navigator because the navigator contains the active Bible.
if (request->query.count ("bible")) {
bible = request->query ["bible"];
if (bible == "") {
Dialog_List dialog_list = Dialog_List ("index", translate("Select which Bible to display"), "", "");
for (auto & bible : public_bibles) {
dialog_list.add_row (bible, "bible", bible);
}
Assets_Header header = Assets_Header ("", request);
string page = header.run ();
page += dialog_list.run();
return page;
} else {
request->database_config_user()->setBible (bible);
}
}
string page;
Assets_Header header = Assets_Header (translate ("Public feedback"), request);
header.setNavigator ();
header.setStylesheet ();
page = header.run ();
Assets_View view;
string stylesheet = Database_Config_Bible::getExportStylesheet (bible);
bible = request->database_config_user()->getBible ();
view.set_variable ("bible", bible);
// If there's more than one Bible with public feedback enabled, the public can select a Bible.
if (public_bibles.size () > 1) {
view.enable_zone ("bibles");
}
string clss = Filter_Css::getClass (bible);
string font = Fonts_Logic::getTextFont (bible);
int direction = Database_Config_Bible::getTextDirection (bible);
int lineheight = Database_Config_Bible::getLineHeight (bible);
int letterspacing = Database_Config_Bible::getLetterSpacing (bible);
view.set_variable ("custom_class", clss);
view.set_variable ("custom_css", Filter_Css::getCss (clss,
Fonts_Logic::getFontPath (font),
direction,
lineheight,
letterspacing));
Styles_Css styles_css = Styles_Css (&request, stylesheet);
styles_css.exports ();
styles_css.generate ();
string css = styles_css.css ();
view.set_variable ("exports_css", css);
page += view.render ("public", "index");
page += Assets_Page::footer ();
return page;
}
示例2: changes_changes
string changes_changes (void * webserver_request)
{
Webserver_Request * request = (Webserver_Request *) webserver_request;
Database_Modifications database_modifications;
bool touch = request->session_logic ()->touchEnabled ();
string page;
Assets_Header header = Assets_Header (translate("Changes"), request);
header.setStylesheet ();
header.addBreadCrumb (menu_logic_translate_menu (), menu_logic_translate_text ());
if (touch) header.jQueryTouchOn ();
page += header.run ();
Assets_View view;
string username = request->session_logic()->currentUser ();
// Handle AJAX call to remove a change notification.
if (request->post.count ("remove")) {
int remove = convert_to_int (request->post["remove"]);
trash_change_notification (request, remove);
database_modifications.deleteNotification (remove);
#ifdef HAVE_CLIENT
request->database_config_user ()->addRemovedChange (remove);
#endif
request->database_config_user ()->setChangeNotificationsChecksum ("");
return "";
}
// Handle AJAX call to navigate to the passage belonging to the change notification.
if (request->post.count ("navigate")) {
string navigate = request->post["navigate"];
int id = convert_to_int (navigate);
Passage passage = database_modifications.getNotificationPassage (id);
if (passage.book) {
Ipc_Focus::set (request, passage.book, passage.chapter, convert_to_int (passage.verse));
Navigation_Passage::recordHistory (request, passage.book, passage.chapter, convert_to_int (passage.verse));
}
// Set the correct default Bible for the user.
string bible = database_modifications.getNotificationBible (id);
if (!bible.empty ()) request->database_config_user()->setBible (bible);
return "";
}
// Remove a user's personal changes notifications and their matching change notifications in the Bible.
string matching = request->query ["matching"];
if (!matching.empty ()) {
vector <int> ids = database_modifications.clearNotificationMatches (username, matching, changes_bible_category ());
#ifdef HAVE_CLIENT
// Client records deletions for sending to the Cloud.
for (auto & id : ids) {
request->database_config_user ()->addRemovedChange (id);
}
#endif
// Clear checksum cache.
request->database_config_user ()->setChangeNotificationsChecksum ("");
}
// Remove all the personal change notifications.
if (request->query.count ("personal")) {
vector <int> ids = database_modifications.getNotificationTeamIdentifiers (username, changes_personal_category (), true);
for (auto id : ids) {
trash_change_notification (request, id);
database_modifications.deleteNotification (id);
#ifdef HAVE_CLIENT
request->database_config_user ()->addRemovedChange (id);
#endif
request->database_config_user ()->setChangeNotificationsChecksum ("");
}
}
// Remove all the Bible change notifications.
if (request->query.count ("bible")) {
vector <int> ids = database_modifications.getNotificationTeamIdentifiers (username, changes_bible_category (), true);
for (auto id : ids) {
trash_change_notification (request, id);
database_modifications.deleteNotification (id);
#ifdef HAVE_CLIENT
request->database_config_user ()->addRemovedChange (id);
#endif
request->database_config_user ()->setChangeNotificationsChecksum ("");
}
}
// Remove all the change notifications made by a certain user.
if (request->query.count ("dismiss")) {
string user = request->query ["dismiss"];
vector <int> ids = database_modifications.getNotificationTeamIdentifiers (username, user, true);
for (auto id : ids) {
trash_change_notification (request, id);
database_modifications.deleteNotification (id);
//.........这里部分代码省略.........