KShortcut KAction::shortcut(ShortcutTypes type) const { Q_ASSERT(type); if (type == DefaultShortcut) { QList<QKeySequence> shortcuts = property("defaultShortcuts").value<QList<QKeySequence> >(); return KShortcut(shortcuts); } QKeySequence primary = shortcuts().value(0); QKeySequence secondary = shortcuts().value(1); return KShortcut(primary, secondary); }
BulkSpellingDialog::BulkSpellingDialog(const vector <ustring> words) { gtkbuilder = gtk_builder_new (); gtk_builder_add_from_file (gtkbuilder, gw_build_filename (Directories->get_package_data(), "gtkbuilder.bulkspellingdialog.xml").c_str(), NULL); Shortcuts shortcuts(0); dialog = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "dialog")); label = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "label")); gtk_label_set_text (GTK_LABEL (label), _("All the words that are misspelled are visible below.\nClick on a word to approve the spelling.")); vbox = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "vbox")); InDialogHelp * indialoghelp = new InDialogHelp(dialog, gtkbuilder, &shortcuts, NULL); cancelbutton = indialoghelp->cancelbutton; okbutton = indialoghelp->okbutton; gtk_widget_grab_default(okbutton); gtk_widget_grab_focus(okbutton); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); // Create a button for each misspelled word. GtkWidget * spellbutton; for (unsigned int i = 0; i < words.size(); i++) { spellbutton = gtk_button_new_with_label(words[i].c_str()); gtk_widget_show(spellbutton); gtk_box_pack_start(GTK_BOX(vbox), spellbutton, false, false, 0); g_signal_connect((gpointer) spellbutton, "clicked", G_CALLBACK(on_spellbutton_clicked), gpointer(this)); } shortcuts.process(); gtk_widget_show(dialog); new DialogAutoScaler (dialog, G_MAXINT); }
void ShortcutButton::addShortcut(QPushButton *shortcutButton) { QWidget *parent = this; // Destroy shortcut dialog, if its shortcut button is deleted. if (shortcutButton != nullptr) parent = shortcutButton; auto dialog = new ShortcutDialog(parent); if (dialog->exec() == QDialog::Rejected) return; const QKeySequence newShortcut = dialog->shortcut(); const QKeySequence oldShortcut = shortcutButton ? shortcutForButton(*shortcutButton) : QKeySequence(); if (oldShortcut == newShortcut) return; // Remove shortcut button if shortcut is removed, unrecognized or already set. if ( newShortcut.isEmpty() || shortcuts().contains(newShortcut) ) { if (shortcutButton) { delete shortcutButton; emit shortcutRemoved(oldShortcut); } } else if (shortcutButton) { emit shortcutRemoved(oldShortcut); setButtonShortcut(shortcutButton, newShortcut); emit shortcutAdded(newShortcut); } else { addShortcut(newShortcut); } }
void ShortcutButton::addShortcut(QPushButton *shortcutButton) { QWidget *parent = this; // Destroy shortcut dialog, if its shortcut button is deleted. if (shortcutButton != NULL) parent = shortcutButton; ShortcutDialog *dialog = new ShortcutDialog(parent); dialog->setExpectModifier(m_expectModifier); if (dialog->exec() == QDialog::Accepted) { const QKeySequence shortcut = dialog->shortcut(); const QString text = shortcut.toString(QKeySequence::NativeText); if ( shortcut.isEmpty() || shortcuts().contains(shortcut) ) { if (shortcutButton == NULL || shortcutButton->text() != text ) { if (shortcutButton != NULL) emit shortcutRemoved(shortcutButton->text()); delete shortcutButton; } } else { if (shortcutButton != NULL) { if ( shortcutButton->text() != text ) { emit shortcutRemoved(shortcutButton->text()); shortcutButton->setText(text); emit shortcutAdded(text); } } else { addShortcut(text); } } } }
void ResourceConverterDialog::on_type_button(bool no_ask) { bool dialog_ok = false; if (!no_ask) { vector < ustring > types; for (unsigned int i = 0; i < rctEnd; i++) { types.push_back(resource_conversion_type_to_text((ResourceConversionType) i)); } ListviewDialog dialog(_("Select resource conversion type"), types, resource_conversion_type_to_text(resource_conversion_type), false, NULL); if (dialog.run() == GTK_RESPONSE_OK) { dialog_ok = true; resource_conversion_type = resource_conversion_text_to_type(dialog.focus); } } if (dialog_ok || no_ask) { Shortcuts shortcuts(0); shortcuts.stockbutton(okbutton); shortcuts.stockbutton(cancelbutton); shortcuts.stockbutton(helpbutton); build_table_and_type(shortcuts); build_gui(shortcuts); shortcuts.process(); } if (type_gui()) { gui(); } }
void ShortcutButton::addShortcut(const QKeySequence &shortcut) { if ( shortcut.isEmpty() || shortcuts().contains(shortcut) ) return; QPushButton *button = new QPushButton(this); m_layout->insertWidget( shortcutCount(), button, 1 ); connect( button, SIGNAL(clicked()), this, SLOT(onShortcutButtonClicked()) ); button->setText( shortcut.toString(QKeySequence::NativeText) ); emit shortcutAdded(shortcut); }
void XeTeXDialog::set_gui() { // Portion indicator. extern Settings *settings; ScripturePortions scriptureportions(settings->genconfig.project_get()); if (scriptureportions.reordering_portions_all()) gtk_label_set_text(GTK_LABEL(label_portion), CHAPTER_VERSE_SELECTION_ALL); else gtk_label_set_text(GTK_LABEL(label_portion), "part"); // Keyboard accelerators. Shortcuts shortcuts(0); shortcuts.button (button_portion); shortcuts.label(label_expander); shortcuts.label (label_tab_notes); shortcuts.label (label_tab_page); shortcuts.label (label_tab_mapping); shortcuts.label (label_tab_engine); shortcuts.stockbutton(cancelbutton); shortcuts.stockbutton(okbutton); GtkWidget * helpbutton = gtk_button_new_from_stock (GTK_STOCK_HELP); shortcuts.stockbutton(helpbutton); int page = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook)); switch (page) { case 0: { // Notes page. shortcuts.button(checkbutton_full_references); break; } case 1: { // Page settings. shortcuts.button(checkbutton_cropmarks); break; } case 2: { // Mapping page. shortcuts.button(button_font_mapping_clear); break; } case 3: { // Shaping engine page. shortcuts.button(radiobutton_shaping_engine_generic); shortcuts.button(radiobutton_shaping_engine_arab); break; } } shortcuts.process(); gtk_widget_destroy (helpbutton); }
void ShortcutButton::addShortcut(const QKeySequence &shortcut) { if ( shortcut.isEmpty() || shortcuts().contains(shortcut) ) return; auto button = new QPushButton(this); const int buttonIndex = shortcutCount(); m_layout->insertWidget(buttonIndex, button, 1); setTabOrder(m_buttonAddShortcut, button); connect( button, &QAbstractButton::clicked, this, &ShortcutButton::onShortcutButtonClicked ); setButtonShortcut(button, shortcut); emit shortcutAdded(shortcut); }
void ShortcutsWidget::addCommands(const QVector<Command> &commands) { for ( const auto &command : commands ) { if ( canAddCommandAction(command, m_actions) ) { MenuAction action; action.iconId = toIconId(command.icon); action.text = command.name; action.command = command; addShortcutRow(action); if (command.enable) { for (const auto &shortcut : shortcuts(command)) action.shortcutButton->addShortcut(shortcut); } } } }
void ShortcutsWidget::saveShortcuts(QSettings *settings) { auto commands = loadAllCommands(); bool needSaveCommands = false; for (const auto &action : m_actions) { QStringList shortcutNames; for (const auto &shortcut : action.shortcutButton->shortcuts()) shortcutNames.append(portableShortcutText(shortcut)); if ( action.settingsKey.isEmpty() ) { auto savedCommand = findShortcutCommand(action.command.name, commands); const bool enable = !shortcutNames.isEmpty(); if (savedCommand) { if ( savedCommand->enable != enable || (enable && shortcuts(*savedCommand) != shortcutNames) ) { needSaveCommands = true; savedCommand->enable = enable; if (enable) setShortcuts(savedCommand, shortcutNames); } } else if ( !shortcutNames.isEmpty() ) { needSaveCommands = true; auto command = action.command; setShortcuts(&command, shortcutNames); commands.append(command); } } else { // Workaround for QTBUG-51237 (saving empty list results in invalid value). if (shortcutNames.isEmpty()) settings->setValue(action.settingsKey, QString()); else settings->setValue(action.settingsKey, shortcutNames); } } if (needSaveCommands) { saveCommands(commands); emit commandsSaved(); } }
void ShowNotesDialog::set_gui() { // Set the labels on the date buttons. gtk_button_set_label(GTK_BUTTON(button_start), date_time_julian_human_readable(from_day, true).c_str()); gtk_button_set_label(GTK_BUTTON(button_end), date_time_julian_human_readable(to_day, true).c_str()); // Rewrite shortcuts. Shortcuts shortcuts(0); shortcuts.button(radiobutton_current_verse); shortcuts.button(radiobutton_current_chapter); shortcuts.button(radiobutton_current_book); shortcuts.button(radiobutton_any_verse); shortcuts.button(radiobutton_today); shortcuts.button(radiobutton_between); shortcuts.button(button_start); shortcuts.button(button_end); shortcuts.button(radiobutton_at_any_time); shortcuts.label(label_category); shortcuts.button(radiobutton_current_project); shortcuts.button(radiobutton_any_project); shortcuts.button(checkbutton_title); shortcuts.button(checkbutton_project); shortcuts.button(checkbutton_category); shortcuts.button(checkbutton_date_created); shortcuts.button(checkbutton_created_by); shortcuts.button(radiobutton_full); shortcuts.button(radiobutton_summary); shortcuts.button(checkbutton_add_ref_text); // Temporal helpbutton for correct processing of the _H. GtkWidget *helpbutton = gtk_button_new_from_stock("gtk-help"); shortcuts.stockbutton(helpbutton); shortcuts.stockbutton(cancelbutton); shortcuts.stockbutton(okbutton); shortcuts.process(); gtk_widget_destroy(helpbutton); on_checkbutton_show_title(); }
PlanningEditDialog::PlanningEditDialog(unsigned int book, unsigned int chapter) { // Initialize variables mybook = book; mychapter = chapter; // Build gui. gtkbuilder = gtk_builder_new (); gtk_builder_add_from_file (gtkbuilder, gw_build_filename (Directories->get_package_data(), "gtkbuilder.planningeditdialog.xml").c_str(), NULL); Shortcuts shortcuts(0); dialog = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "dialog")); button_status = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "button_status")); shortcuts.button (button_status); g_signal_connect((gpointer) button_status, "clicked", G_CALLBACK(on_button_status_clicked), gpointer(this)); button_tasks = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "button_tasks")); shortcuts.button (button_tasks); g_signal_connect((gpointer) button_tasks, "clicked", G_CALLBACK(on_button_tasks_clicked), gpointer(this)); InDialogHelp * indialoghelp = new InDialogHelp(dialog, gtkbuilder, &shortcuts, NULL); cancelbutton = indialoghelp->cancelbutton; shortcuts.stockbutton (cancelbutton); okbutton = indialoghelp->okbutton; shortcuts.stockbutton (okbutton); gtk_widget_grab_default(okbutton); gtk_widget_grab_focus(okbutton); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); shortcuts.process(); gui(); }
NewStylesheetDialog::NewStylesheetDialog(const ustring & worksheet, GtkWindow *transient_parent) { myworksheet = worksheet; Shortcuts shortcuts(0); newstylesheetdialog = gtk_dialog_new(); gtk_window_set_transient_for(GTK_WINDOW(newstylesheetdialog), transient_parent); if (!worksheet.empty()) { gtk_window_set_title(GTK_WINDOW(newstylesheetdialog), _("New style")); } else { gtk_window_set_title(GTK_WINDOW(newstylesheetdialog), _("New stylesheet")); } //gtk_window_set_position(GTK_WINDOW(newstylesheetdialog), GTK_WIN_POS_CENTER_ON_PARENT); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (newstylesheetdialog)); gtk_widget_show(dialog_vbox1); hbox2 = gtk_hbox_new(FALSE, 4); gtk_widget_show(hbox2); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hbox2, TRUE, TRUE, 0); vbox1 = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(hbox2), vbox1, TRUE, TRUE, 0); if (myworksheet.empty()) { hbox1 = gtk_hbox_new(FALSE, 4); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(vbox1), hbox1, TRUE, TRUE, 0); label1 = gtk_label_new(_("Name")); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(hbox1), label1, FALSE, FALSE, 0); shortcuts.label(label1); entry1 = gtk_entry_new(); gtk_widget_show(entry1); gtk_box_pack_start(GTK_BOX(hbox1), entry1, TRUE, TRUE, 0); } ustring info; if (!myworksheet.empty()) info = _("Select one or more styles from the list"); label_info = gtk_label_new(info.c_str()); gtk_widget_show(label_info); gtk_box_pack_start(GTK_BOX(vbox1), label_info, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_info), 0, 0.5); GSList *radiobutton_basic_group = NULL; radiobutton_basic = gtk_radio_button_new_with_mnemonic(NULL, _("Basic")); gtk_widget_show(radiobutton_basic); gtk_box_pack_start(GTK_BOX(vbox1), radiobutton_basic, FALSE, FALSE, 0); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_basic), radiobutton_basic_group); radiobutton_basic_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_basic)); shortcuts.button(radiobutton_basic); radiobutton_paragraph = gtk_radio_button_new_with_mnemonic(NULL, _("Basic, paragraph")); gtk_widget_show(radiobutton_paragraph); gtk_box_pack_start(GTK_BOX(vbox1), radiobutton_paragraph, FALSE, FALSE, 0); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_paragraph), radiobutton_basic_group); radiobutton_basic_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_paragraph)); shortcuts.button(radiobutton_paragraph); radiobutton_word_note = gtk_radio_button_new_with_mnemonic(NULL, _("Basic, paragraph, word, note")); gtk_widget_show(radiobutton_word_note); gtk_box_pack_start(GTK_BOX(vbox1), radiobutton_word_note, FALSE, FALSE, 0); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_word_note), radiobutton_basic_group); radiobutton_basic_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_word_note)); shortcuts.button(radiobutton_word_note); radiobutton_sbp = gtk_radio_button_new_with_mnemonic(NULL, _("SIL best practice")); gtk_widget_show(radiobutton_sbp); gtk_box_pack_start(GTK_BOX(vbox1), radiobutton_sbp, FALSE, FALSE, 0); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_sbp), radiobutton_basic_group); radiobutton_basic_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_sbp)); shortcuts.button(radiobutton_sbp); radiobutton_full = gtk_radio_button_new_with_mnemonic(NULL, _("Full")); gtk_widget_show(radiobutton_full); gtk_box_pack_start(GTK_BOX(vbox1), radiobutton_full, FALSE, FALSE, 0); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_full), radiobutton_basic_group); radiobutton_basic_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_full)); shortcuts.button(radiobutton_full); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobutton_full), true); if (!myworksheet.empty()) { expander1 = gtk_expander_new(NULL); gtk_widget_show(expander1); gtk_box_pack_start(GTK_BOX(vbox1), expander1, TRUE, TRUE, 0); label2 = gtk_label_new(_("Add non-standard style")); gtk_widget_show(label2); gtk_expander_set_label_widget(GTK_EXPANDER(expander1), label2); shortcuts.label(label2); hbox1 = gtk_hbox_new(FALSE, 4); gtk_widget_show(hbox1); gtk_container_add(GTK_CONTAINER(expander1), hbox1); label1 = gtk_label_new(_("Name")); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(hbox1), label1, FALSE, FALSE, 0); shortcuts.label(label1); entry1 = gtk_entry_new(); gtk_widget_show(entry1); gtk_box_pack_start(GTK_BOX(hbox1), entry1, TRUE, TRUE, 0); scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindow1); gtk_box_pack_start(GTK_BOX(hbox2), scrolledwindow1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_SHADOW_IN); treeview1 = gtk_tree_view_new(); gtk_widget_show(treeview1); gtk_container_add(GTK_CONTAINER(scrolledwindow1), treeview1); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview1), FALSE); store1 = gtk_list_store_new(1, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(treeview1), GTK_TREE_MODEL(store1)); g_object_unref(store1); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); column1 = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview1), column1); select1 = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview1)); gtk_tree_selection_set_mode(select1, GTK_SELECTION_SINGLE); } dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(newstylesheetdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(newstylesheetdialog, NULL, &shortcuts, "file/styles/stylesheet/new"); cancelbutton1 = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(newstylesheetdialog), cancelbutton1, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton1), true); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(newstylesheetdialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(cancelbutton1); shortcuts.stockbutton(okbutton); shortcuts.process(); g_signal_connect((gpointer) entry1, "changed", G_CALLBACK(on_entry_changed), gpointer(this)); g_signal_connect((gpointer) radiobutton_basic, "toggled", G_CALLBACK(on_radiobutton_basic_toggled), gpointer(this)); g_signal_connect((gpointer) radiobutton_paragraph, "toggled", G_CALLBACK(on_radiobutton_paragraph_toggled), gpointer(this)); g_signal_connect((gpointer) radiobutton_word_note, "toggled", G_CALLBACK(on_radiobutton_word_note_toggled), gpointer(this)); g_signal_connect((gpointer) radiobutton_sbp, "toggled", G_CALLBACK(on_radiobutton_sbp_toggled), gpointer(this)); g_signal_connect((gpointer) radiobutton_full, "toggled", G_CALLBACK(on_radiobutton_full_toggled), gpointer(this)); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_focus(entry1); gtk_widget_grab_default(okbutton); gtk_label_set_mnemonic_widget(GTK_LABEL(label1), entry1); on_entry(); on_radiobutton(); }
ReplaceDialog::ReplaceDialog(int dummy) { Shortcuts shortcuts(0); extern Settings *settings; replacedialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(replacedialog), _("Replace")); gtk_window_set_position(GTK_WINDOW(replacedialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(replacedialog), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(replacedialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(replacedialog)); gtk_widget_show(dialog_vbox1); table1 = gtk_table_new(6, 2, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), table1, TRUE, TRUE, 0); label7 = gtk_label_new(_("Search for")); gtk_widget_show(label7); gtk_table_attach(GTK_TABLE(table1), label7, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 4, 4); gtk_misc_set_alignment(GTK_MISC(label7), 1, 0.5); shortcuts.label(label7); label8 = gtk_label_new(_("Replace with")); gtk_widget_show(label8); gtk_table_attach(GTK_TABLE(table1), label8, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 4, 4); gtk_misc_set_alignment(GTK_MISC(label8), 1, 0.5); shortcuts.label(label8); entry2 = gtk_entry_new(); // Manually added code. gtk_entry_set_text(GTK_ENTRY(entry2), settings->session.searchword.c_str()); gtk_widget_show(entry2); gtk_table_attach(GTK_TABLE(table1), entry2, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 2); gtk_entry_set_activates_default(GTK_ENTRY(entry2), TRUE); entry3 = gtk_entry_new(); // Manually added code. gtk_entry_set_text(GTK_ENTRY(entry3), settings->session.replaceword.c_str()); gtk_widget_show(entry3); gtk_table_attach(GTK_TABLE(table1), entry3, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 2); gtk_entry_set_activates_default(GTK_ENTRY(entry3), TRUE); if (!settings->genconfig.text_editor_font_default_get()) { PangoFontDescription *font_desc = NULL; font_desc = pango_font_description_from_string(settings->genconfig.text_editor_font_name_get().c_str()); gtk_widget_modify_font(entry2, font_desc); gtk_widget_modify_font(entry3, font_desc); pango_font_description_free(font_desc); } checkbuttoncase = gtk_check_button_new_with_mnemonic(_("Case sensitive")); gtk_widget_show(checkbuttoncase); gtk_table_attach(GTK_TABLE(table1), checkbuttoncase, 0, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); shortcuts.button(checkbuttoncase); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbuttoncase), settings->session.search_case_sensitive); checkbuttonbook = gtk_check_button_new_with_mnemonic(_("Current book only")); gtk_widget_show(checkbuttonbook); gtk_table_attach(GTK_TABLE(table1), checkbuttonbook, 0, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); shortcuts.button(checkbuttonbook); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbuttonbook), settings->session.search_current_book); checkbuttonchapter = gtk_check_button_new_with_mnemonic(_("Current chapter only")); gtk_widget_show(checkbuttonchapter); gtk_table_attach(GTK_TABLE(table1), checkbuttonchapter, 0, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); shortcuts.button(checkbuttonchapter); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbuttonchapter), settings->session.search_current_chapter); selectbutton = gtk_button_new(); gtk_widget_show(selectbutton); gtk_table_attach(GTK_TABLE(table1), selectbutton, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment1 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment1); gtk_container_add(GTK_CONTAINER(selectbutton), alignment1); hbox1 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox1); gtk_container_add(GTK_CONTAINER(alignment1), hbox1); image1 = gtk_image_new_from_stock("gtk-properties", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image1); gtk_box_pack_start(GTK_BOX(hbox1), image1, FALSE, FALSE, 0); label9 = gtk_label_new_with_mnemonic(_("Select books")); gtk_widget_show(label9); gtk_box_pack_start(GTK_BOX(hbox1), label9, FALSE, FALSE, 0); shortcuts.label(label9); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(replacedialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(replacedialog, NULL, &shortcuts, NULL); buttonfind = gtk_button_new_from_stock("gtk-find"); gtk_widget_show(buttonfind); gtk_dialog_add_action_widget(GTK_DIALOG(replacedialog), buttonfind, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (buttonfind), true); buttoncancel = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(buttoncancel); gtk_dialog_add_action_widget(GTK_DIALOG(replacedialog), buttoncancel, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (buttoncancel), true); shortcuts.stockbutton(buttonfind); shortcuts.stockbutton(buttoncancel); shortcuts.process(); g_signal_connect((gpointer) checkbuttonbook, "toggled", G_CALLBACK(on_checkbuttonbook_toggled), gpointer(this)); g_signal_connect((gpointer) checkbuttonchapter, "toggled", G_CALLBACK(on_checkbuttonchapter_toggled), gpointer(this)); g_signal_connect((gpointer) selectbutton, "clicked", G_CALLBACK(on_selectbutton_clicked), gpointer(this)); g_signal_connect((gpointer) buttonfind, "clicked", G_CALLBACK(replacedialog_on_buttonfind_clicked), gpointer(this)); g_signal_connect((gpointer) entry2, "changed", G_CALLBACK(on_word_entry_changed), gpointer(this)); gtk_label_set_mnemonic_widget(GTK_LABEL(label7), entry2); gtk_label_set_mnemonic_widget(GTK_LABEL(label8), entry3); gtk_widget_grab_focus(entry2); gtk_widget_grab_default(buttonfind); // Select books feature. selectable_books = project_get_books(settings->genconfig.project_get()); // Entry completion completion_setup(entry2, cpSearch); completion_setup(entry3, cpReplace); set_gui(); }
SelectBooksDialog::SelectBooksDialog(bool showportions, GtkWindow *parent) /* This dialog selects books. This function takes the book from the project that is now open, and the language of that project. It then loads the books. bookset: Indicator for the caller's relevant books. */ { // Initialize variables. extern Settings *settings; myproject = settings->genconfig.project_get(); ProjectConfiguration *projectconfig = settings->projectconfig(myproject); mylanguage = projectconfig->language_get(); myselectables = project_get_books(myproject); myshowportions = showportions; // Build dialog. Shortcuts shortcuts(0); selectbooksdialog = gtk_dialog_new(); ustring title(_("Select books")); if (showportions) { title.append(_(" and portions")); } gtk_window_set_title(GTK_WINDOW(selectbooksdialog), title.c_str()); gtk_window_set_transient_for(GTK_WINDOW(selectbooksdialog), parent); gtk_window_set_position(GTK_WINDOW(selectbooksdialog), GTK_WIN_POS_CENTER_ALWAYS); // was GTK_WIN_POS_CENTER_ON_PARENT gtk_window_set_modal(GTK_WINDOW(selectbooksdialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(selectbooksdialog)); gtk_widget_show(dialog_vbox1); vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox1, TRUE, TRUE, 0); hbox11 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox11); gtk_box_pack_start(GTK_BOX(vbox1), hbox11, TRUE, TRUE, 0); vbox2 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox2); gtk_box_pack_start(GTK_BOX(hbox11), vbox2, TRUE, TRUE, 0); labelbooks = gtk_label_new(_("Books")); gtk_widget_show(labelbooks); gtk_box_pack_start(GTK_BOX(vbox2), labelbooks, FALSE, FALSE, 0); shortcuts.label(labelbooks); scrolledwindowbooks = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindowbooks); gtk_box_pack_start(GTK_BOX(vbox2), scrolledwindowbooks, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindowbooks), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindowbooks), GTK_SHADOW_IN); treeviewbooks = gtk_tree_view_new(); gtk_widget_show(treeviewbooks); gtk_container_add(GTK_CONTAINER(scrolledwindowbooks), treeviewbooks); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeviewbooks), FALSE); vbox3 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox3); gtk_box_pack_start(GTK_BOX(hbox11), vbox3, TRUE, TRUE, 0); if (myshowportions) { labelportions = gtk_label_new(_("Portions")); gtk_widget_show(labelportions); gtk_box_pack_start(GTK_BOX(vbox3), labelportions, FALSE, FALSE, 0); shortcuts.label(labelportions); scrolledwindowportions = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindowportions); gtk_box_pack_start(GTK_BOX(vbox3), scrolledwindowportions, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindowportions), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindowportions), GTK_SHADOW_IN); treeviewportions = gtk_tree_view_new(); gtk_widget_show(treeviewportions); gtk_container_add(GTK_CONTAINER(scrolledwindowportions), treeviewportions); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeviewportions), FALSE); } table1 = gtk_table_new(2, 3, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(vbox1), table1, FALSE, FALSE, 0); nobutton = gtk_button_new(); gtk_widget_show(nobutton); gtk_table_attach(GTK_TABLE(table1), nobutton, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment1 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment1); gtk_container_add(GTK_CONTAINER(nobutton), alignment1); hbox4 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox4); gtk_container_add(GTK_CONTAINER(alignment1), hbox4); image1 = gtk_image_new_from_stock("gtk-clear", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image1); gtk_box_pack_start(GTK_BOX(hbox4), image1, FALSE, FALSE, 0); label6 = gtk_label_new_with_mnemonic(_("No books")); gtk_widget_show(label6); gtk_box_pack_start(GTK_BOX(hbox4), label6, FALSE, FALSE, 0); shortcuts.label(label6); otbutton = gtk_button_new(); gtk_widget_show(otbutton); gtk_table_attach(GTK_TABLE(table1), otbutton, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment2 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment2); gtk_container_add(GTK_CONTAINER(otbutton), alignment2); hbox5 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox5); gtk_container_add(GTK_CONTAINER(alignment2), hbox5); image2 = gtk_image_new_from_stock("gtk-goto-first", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image2); gtk_box_pack_start(GTK_BOX(hbox5), image2, FALSE, FALSE, 0); label7 = gtk_label_new_with_mnemonic(_("Old Testament")); gtk_widget_show(label7); gtk_box_pack_start(GTK_BOX(hbox5), label7, FALSE, FALSE, 0); shortcuts.label(label7); ntbutton = gtk_button_new(); gtk_widget_show(ntbutton); gtk_table_attach(GTK_TABLE(table1), ntbutton, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment3 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment3); gtk_container_add(GTK_CONTAINER(ntbutton), alignment3); hbox6 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox6); gtk_container_add(GTK_CONTAINER(alignment3), hbox6); image3 = gtk_image_new_from_stock("gtk-goto-last", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image3); gtk_box_pack_start(GTK_BOX(hbox6), image3, FALSE, FALSE, 0); label8 = gtk_label_new_with_mnemonic(_("New Testament")); gtk_widget_show(label8); gtk_box_pack_start(GTK_BOX(hbox6), label8, FALSE, FALSE, 0); shortcuts.label(label8); otherbutton = gtk_button_new(); gtk_widget_show(otherbutton); gtk_table_attach(GTK_TABLE(table1), otherbutton, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment6 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment6); gtk_container_add(GTK_CONTAINER(otherbutton), alignment6); hbox9 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox9); gtk_container_add(GTK_CONTAINER(alignment6), hbox9); image6 = gtk_image_new_from_stock("gtk-dialog-warning", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image6); gtk_box_pack_start(GTK_BOX(hbox9), image6, FALSE, FALSE, 0); label11 = gtk_label_new_with_mnemonic(_("Other books")); gtk_widget_show(label11); gtk_box_pack_start(GTK_BOX(hbox9), label11, FALSE, FALSE, 0); shortcuts.label(label11); allbutton = gtk_button_new(); gtk_widget_show(allbutton); gtk_table_attach(GTK_TABLE(table1), allbutton, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment4 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment4); gtk_container_add(GTK_CONTAINER(allbutton), alignment4); hbox7 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox7); gtk_container_add(GTK_CONTAINER(alignment4), hbox7); image4 = gtk_image_new_from_stock("gtk-add", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image4); gtk_box_pack_start(GTK_BOX(hbox7), image4, FALSE, FALSE, 0); label9 = gtk_label_new_with_mnemonic(_("All books")); gtk_widget_show(label9); gtk_box_pack_start(GTK_BOX(hbox7), label9, FALSE, FALSE, 0); shortcuts.label(label9); currentbutton = gtk_button_new(); gtk_widget_show(currentbutton); gtk_table_attach(GTK_TABLE(table1), currentbutton, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); alignment5 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment5); gtk_container_add(GTK_CONTAINER(currentbutton), alignment5); hbox8 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox8); gtk_container_add(GTK_CONTAINER(alignment5), hbox8); image5 = gtk_image_new_from_stock("gtk-properties", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image5); gtk_box_pack_start(GTK_BOX(hbox8), image5, FALSE, FALSE, 0); label10 = gtk_label_new_with_mnemonic(_("Current book")); gtk_widget_show(label10); gtk_box_pack_start(GTK_BOX(hbox8), label10, FALSE, FALSE, 0); shortcuts.label(label10); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(selectbooksdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); const gchar *helpfile; if (showportions) { helpfile = "file/print/portion"; } else { helpfile = "file/print/selection"; } new InDialogHelp(selectbooksdialog, NULL, &shortcuts, helpfile); cancelbutton = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton); gtk_dialog_add_action_widget(GTK_DIALOG(selectbooksdialog), cancelbutton, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton), true); shortcuts.stockbutton(cancelbutton); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(selectbooksdialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(okbutton); shortcuts.process(); g_signal_connect((gpointer) treeviewbooks, "key_press_event", G_CALLBACK(on_treeviewbooks_key_press_event), gpointer(this)); if (myshowportions) { g_signal_connect((gpointer) treeviewportions, "row_activated", G_CALLBACK(on_treeviewportions_row_activated), gpointer(this)); } g_signal_connect((gpointer) nobutton, "clicked", G_CALLBACK(on_nobutton_clicked), gpointer(this)); g_signal_connect((gpointer) otbutton, "clicked", G_CALLBACK(on_otbutton_clicked), gpointer(this)); g_signal_connect((gpointer) ntbutton, "clicked", G_CALLBACK(on_ntbutton_clicked), gpointer(this)); g_signal_connect((gpointer) otherbutton, "clicked", G_CALLBACK(on_otherbutton_clicked), gpointer(this)); g_signal_connect((gpointer) allbutton, "clicked", G_CALLBACK(on_allbutton_clicked), gpointer(this)); g_signal_connect((gpointer) currentbutton, "clicked", G_CALLBACK(on_currentbutton_clicked), gpointer(this)); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_focus(treeviewbooks); gtk_widget_grab_default(okbutton); gtk_label_set_mnemonic_widget(GTK_LABEL(labelbooks), treeviewbooks); if (myshowportions) gtk_label_set_mnemonic_widget(GTK_LABEL(labelportions), treeviewportions); // Storage, renderer, column and selection for books. { storebooks = gtk_list_store_new(1, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(treeviewbooks), GTK_TREE_MODEL(storebooks)); g_object_unref(storebooks); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); columnbooks = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeviewbooks), columnbooks); selectbooks = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeviewbooks)); gtk_tree_selection_set_mode(selectbooks, GTK_SELECTION_MULTIPLE); } // Storage, renderer, column and selection for portions. if (myshowportions) { storeportions = gtk_list_store_new(1, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(treeviewportions), GTK_TREE_MODEL(storeportions)); g_object_unref(storeportions); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); columnportions = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeviewportions), columnportions); selectportions = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeviewportions)); gtk_tree_selection_set_mode(selectportions, GTK_SELECTION_SINGLE); } // Load content. myselectables = project_get_books(myproject); loadbooks(); if (myshowportions) loadportions(); // Update gui. update_gui_event_id = 0; if (myshowportions) { update_gui_event_id = g_timeout_add_full(G_PRIORITY_DEFAULT, 100, GSourceFunc(on_update_gui_timeout), gpointer(this), NULL); } new DialogAutoScaler (selectbooksdialog, G_MAXINT); }
DateWidget::DateWidget(guint32 * seconds_since_epoch, bool showtime) /* By default this dialog shows the calendar only. If showtime is true it shows the time also. */ { // Store and initialize variabeles. my_seconds_since_epoch = seconds_since_epoch; setting_date_time = false; // Shortcuts. Shortcuts shortcuts(0); hbox = gtk_hbox_new(FALSE, 10); gtk_widget_show(hbox); vbox2 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox2); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 0); label_date = gtk_label_new(_("Date")); gtk_widget_show(label_date); gtk_box_pack_start(GTK_BOX(vbox2), label_date, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_date), 0, 0.5); shortcuts.label(label_date); calendar1 = gtk_calendar_new(); gtk_widget_show(calendar1); gtk_box_pack_start(GTK_BOX(vbox2), calendar1, TRUE, TRUE, 0); gtk_calendar_display_options(GTK_CALENDAR(calendar1), GtkCalendarDisplayOptions(GTK_CALENDAR_SHOW_HEADING | GTK_CALENDAR_SHOW_DAY_NAMES | GTK_CALENDAR_SHOW_WEEK_NUMBERS)); label_time = NULL; if (showtime) { vseparator1 = gtk_vseparator_new(); gtk_widget_show(vseparator1); gtk_box_pack_start(GTK_BOX(hbox), vseparator1, TRUE, TRUE, 0); vbox1 = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(hbox), vbox1, TRUE, TRUE, 0); label_time = gtk_label_new(_("Time")); gtk_widget_show(label_time); gtk_box_pack_start(GTK_BOX(vbox1), label_time, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_time), 0, 0.5); table1 = gtk_table_new(3, 2, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(vbox1), table1, FALSE, FALSE, 0); gtk_table_set_row_spacings(GTK_TABLE(table1), 8); gtk_table_set_col_spacings(GTK_TABLE(table1), 8); label_hour = gtk_label_new(_("Hour")); gtk_widget_show(label_hour); gtk_table_attach(GTK_TABLE(table1), label_hour, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_hour), 1, 0.5); shortcuts.label(label_hour); label_minute = gtk_label_new(_("Minute")); gtk_widget_show(label_minute); gtk_table_attach(GTK_TABLE(table1), label_minute, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_minute), 1, 0.5); shortcuts.label(label_minute); label_second = gtk_label_new(_("Second")); gtk_widget_show(label_second); gtk_table_attach(GTK_TABLE(table1), label_second, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label_second), 1, 0.5); shortcuts.label(label_second); spinbutton_minute_adj = gtk_adjustment_new(0, 0, 59, 1, 10, 0); spinbutton_minute = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_minute_adj), 1, 0); gtk_widget_show(spinbutton_minute); gtk_table_attach(GTK_TABLE(table1), spinbutton_minute, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spinbutton_minute), TRUE); spinbutton_second_adj = gtk_adjustment_new(0, 0, 59, 1, 10, 0); spinbutton_second = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_second_adj), 1, 0); gtk_widget_show(spinbutton_second); gtk_table_attach(GTK_TABLE(table1), spinbutton_second, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spinbutton_second), TRUE); spinbutton_hour_adj = gtk_adjustment_new(0, 0, 23, 1, 10, 0); spinbutton_hour = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_hour_adj), 1, 0); gtk_widget_show(spinbutton_hour); gtk_table_attach(GTK_TABLE(table1), spinbutton_hour, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spinbutton_hour), TRUE); } shortcuts.process(); g_signal_connect ((gpointer) calendar1, "day_selected", G_CALLBACK (on_calendar_changed), gpointer(this)); if (showtime) { g_signal_connect ((gpointer) spinbutton_minute, "changed", G_CALLBACK (on_spinbutton_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_minute, "value_changed", G_CALLBACK (on_spinbutton_value_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_second, "changed", G_CALLBACK (on_spinbutton_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_second, "value_changed", G_CALLBACK (on_spinbutton_value_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_hour, "changed", G_CALLBACK (on_spinbutton_changed), gpointer(this)); g_signal_connect ((gpointer) spinbutton_hour, "value_changed", G_CALLBACK (on_spinbutton_value_changed), gpointer(this)); } gtk_label_set_mnemonic_widget(GTK_LABEL(label_date), calendar1); if (showtime) { gtk_label_set_mnemonic_widget(GTK_LABEL(label_hour), spinbutton_hour); gtk_label_set_mnemonic_widget(GTK_LABEL(label_minute), spinbutton_minute); gtk_label_set_mnemonic_widget(GTK_LABEL(label_second), spinbutton_second); } // Set the date and optionally the time. set_date (); }
TextReplacementDialog::TextReplacementDialog(int dummy) { // Get configurations. extern Settings *settings; // Shortcuts. Shortcuts shortcuts(0); textreplacementdialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(textreplacementdialog), _("Text Replacement")); gtk_window_set_position(GTK_WINDOW(textreplacementdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(textreplacementdialog), TRUE); gtk_window_set_type_hint(GTK_WINDOW(textreplacementdialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(textreplacementdialog)); gtk_widget_show(dialog_vbox1); vbox1 = gtk_vbox_new(FALSE, 2); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox1, TRUE, TRUE, 0); checkbutton1 = gtk_check_button_new_with_mnemonic(_("Replace text when printing and exporting")); gtk_widget_show(checkbutton1); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton1, FALSE, FALSE, 0); shortcuts.button(checkbutton1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton1), settings->genconfig.text_replacement_get()); scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindow1); gtk_box_pack_start(GTK_BOX(vbox1), scrolledwindow1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_SHADOW_IN); treeview1 = gtk_tree_view_new(); gtk_widget_show(treeview1); gtk_container_add(GTK_CONTAINER(scrolledwindow1), treeview1); gtk_tree_view_set_reorderable(GTK_TREE_VIEW(treeview1), TRUE); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(textreplacementdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(textreplacementdialog, NULL, &shortcuts, "menu-preferences/text-replacement"); cancelbutton1 = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(textreplacementdialog), cancelbutton1, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton1), true); shortcuts.stockbutton(cancelbutton1); okbutton1 = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(textreplacementdialog), okbutton1, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton1), true); shortcuts.stockbutton(okbutton1); shortcuts.process(); g_signal_connect((gpointer) checkbutton1, "toggled", G_CALLBACK(on_checkbutton1_toggled), gpointer(this)); g_signal_connect((gpointer) okbutton1, "clicked", G_CALLBACK(on_okbutton1_clicked), gpointer(this)); gtk_widget_grab_focus(okbutton1); gtk_widget_grab_default(okbutton1); // Toggle button. gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton1), settings->genconfig.text_replacement_get()); // Storage, renderer, column and selection. model = gtk_list_store_new(NUM_COLUMNS, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_tree_view_set_model(GTK_TREE_VIEW(treeview1), GTK_TREE_MODEL(model)); g_object_unref(model); GtkCellRenderer *renderer1 = gtk_cell_renderer_text_new(); g_signal_connect(renderer1, "edited", G_CALLBACK(cell_text_edited), gpointer(this)); gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview1), -1, "Texts", renderer1, "text", COLUMN_ORIGINALS, "editable", COLUMN_EDITABLE1, NULL); GtkCellRenderer *renderer2 = gtk_cell_renderer_text_new(); g_signal_connect(renderer2, "edited", G_CALLBACK(cell_replacement_edited), gpointer(this)); gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview1), -1, "Replacements", renderer2, "text", COLUMN_REPLACEMENTS, "editable", COLUMN_EDITABLE2, NULL); gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview1)), GTK_SELECTION_SINGLE); // Load texts and replacements - these get initialized to defaults if there were none. vector < ustring > originals; vector < ustring > replacements; text_replacement_get_words(originals, replacements); GtkTreeIter iter; for (unsigned int i = 0; i < originals.size(); i++) { gtk_list_store_append(model, &iter); gtk_list_store_set(model, &iter, COLUMN_ORIGINALS, originals[i].c_str(), COLUMN_EDITABLE1, 1, COLUMN_REPLACEMENTS, replacements[i].c_str(), COLUMN_EDITABLE2, 1, -1); } gui(); new DialogAutoScaler (textreplacementdialog, G_MAXINT); }
ResourceConverterDialog::ResourceConverterDialog(const ustring & working_directory) { // Initialize variables. workingdirectory = working_directory; resource_conversion_type = rctEnd; chapter_pattern_index = 0; verse_pattern_index = 0; anchors_written = false; table_attachment_offset = 0; table1 = NULL; // Shortcuts. Shortcuts shortcuts(0); // Dialog. resourceconverterdialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(resourceconverterdialog), _("Resource Converter")); gtk_window_set_position(GTK_WINDOW(resourceconverterdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(resourceconverterdialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(resourceconverterdialog)); gtk_widget_show(dialog_vbox1); label1 = gtk_label_new(""); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), label1, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5); build_table_and_type(shortcuts); // Dialog action. dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(resourceconverterdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(resourceconverterdialog, NULL, &shortcuts, "file/resource/converter"); helpbutton = gtk_button_new_from_stock("gtk-help"); gtk_dialog_add_action_widget(GTK_DIALOG(resourceconverterdialog), helpbutton, GTK_RESPONSE_NONE); cancelbutton = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton); gtk_dialog_add_action_widget(GTK_DIALOG(resourceconverterdialog), cancelbutton, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton), true); shortcuts.stockbutton(cancelbutton); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(resourceconverterdialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(okbutton); gtk_widget_set_sensitive(okbutton, false); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_focus(okbutton); gtk_widget_grab_default(okbutton); build_gui(shortcuts); shortcuts.process(); if (type_gui()) { gui(); on_type_button(true); } }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { GlobalCache *globalCache = new GlobalCache(); loginStatus = false; updateTimer = startTimer(100); QTimerEvent *e= new QTimerEvent(updateTimer); setWindowTitle("#precIsioN Billing Software 1.2"); /* Setting height and width properties */ QDesktopWidget *desktop = QApplication::desktop(); int width = desktop->width(); int height = desktop->height(); GlobalCache::setScreenWidth(width); GlobalCache::setScreenHeight(height); resize(width/2, height/2); int sideWidth = 10; //width/48; int sideHeight = (height-50)/14; widgetWidth = width - 20; //sideWidth *46; widgetHeight = sideHeight * 14; /* Creating menu bar and status bar */ menubar = new QMenuBar(this); setMenuBar(menubar); menuAdministrator = new QMenu(menubar); menuAdministrator->setTitle("Administrator"); menubar->addMenu(menuAdministrator); QAction *homeAct = new QAction(("&Home"), this); homeAct->setShortcut(QKeySequence(tr("Ctrl+H"))); menuAdministrator->addAction(homeAct); menuAdministrator->addSeparator(); QAction *changePasswordAct = new QAction("Change Password", this); menuAdministrator->addAction(changePasswordAct); QAction *refreshAct = new QAction(("&Refresh"), this); refreshAct->setShortcut(QKeySequence(tr("Ctrl+R"))); menuAdministrator->addAction(refreshAct); QAction *fullScreenAct = new QAction(("&Full Screen"), this); fullScreenAct->setShortcut(Qt::Key_F11); menuAdministrator->addAction(fullScreenAct); QAction *restartAct = new QAction("Restart", this); restartAct->setShortcut(QKeySequence((tr("Shift+Ctrl+X")))); menuAdministrator->addAction(restartAct); QAction *quitAct = new QAction(("Quit Application"), this); quitAct->setShortcut(QKeySequence(tr("Ctrl+X"))); menuAdministrator->addAction(quitAct); menuStock = new QMenu(menubar); menuStock->setTitle("Stock"); menubar->addMenu(menuStock); QAction *manageStockAct = new QAction(("Manage Stock"), this); manageStockAct->setShortcut(QKeySequence(tr("Ctrl+M"))); menuStock->addAction(manageStockAct); QAction *bulkStockUpdationAct = new QAction("Bulk Stock Updation", this); bulkStockUpdationAct->setShortcut(QKeySequence(tr("Ctrl+U"))); menuStock->addAction(bulkStockUpdationAct); menuStock->addSeparator(); QAction *stockPruchaseInvoiceAct = new QAction(("Stock Purchase Invoice"), this); menuStock->addAction(stockPruchaseInvoiceAct); QAction *oldStockPurchaseInvoiceAct = new QAction(("Old Stock Purchase Invoice"), this); menuStock->addAction(oldStockPurchaseInvoiceAct); menuStock->addSeparator(); QAction *stockUpdationAct = new QAction(("Single Stock Updation"), this); menuStock->addAction(stockUpdationAct); menuStock->addSeparator(); QAction *addNewStockAct = new QAction(("Add New Stock"), this); menuStock->addAction(addNewStockAct); QAction *deleteStockact = new QAction(("Remove Stock"), this); menuStock->addAction(deleteStockact); QAction *updateStockAct = new QAction(("Edit Stock Details"), this); menuStock->addAction(updateStockAct); menuStock->addSeparator(); QAction *checkStockAct = new QAction("Check Stock", this); checkStockAct->setShortcut(QKeySequence("Ctrl+F")); menuStock->addAction(checkStockAct); menuInvoice = new QMenu(menubar); menuInvoice->setTitle("Invoice"); menubar->addMenu(menuInvoice); QAction *invoiceAct = new QAction(("&New Invoice"), this); invoiceAct->setShortcut(QKeySequence(tr("Ctrl+N"))); menuInvoice->addAction(invoiceAct); QAction *setInvoiceAct = new QAction(("Set Invoice No"), this); menuInvoice->addAction(setInvoiceAct); QAction *cancelInvoiceAct = new QAction(("Cancel Invoice"), this); menuInvoice->addAction(cancelInvoiceAct); QAction *oldInvoiceAct = new QAction(("Old Invoices"), this); menuInvoice->addAction(oldInvoiceAct); menuEstimate = new QMenu(menubar); menuEstimate->setTitle("Estimate"); menubar->addMenu(menuEstimate); QAction *estimateAct = new QAction(("&New Estimate"), this); estimateAct->setShortcut(QKeySequence(tr("Ctrl+E"))); menuEstimate->addAction(estimateAct); QAction *setEstimateAct = new QAction(("Set Estimate No"), this); menuEstimate->addAction(setEstimateAct); QAction *cancelEstimateAct = new QAction(("Cancel Estimate"), this); menuEstimate->addAction(cancelEstimateAct); QAction *oldEstimateAct = new QAction(("Old Estimates"), this); menuEstimate->addAction(oldEstimateAct); menuEstimate->addSeparator(); QAction *itemEstimateAct = new QAction("Item Estimates", this); menuEstimate->addAction(itemEstimateAct); menuDealer = new QMenu(menubar); menuDealer->setTitle("Dealer"); // menubar->addMenu(menuDealer); QAction *dealerHomeAct = new QAction(("&Dealer Home"), this); dealerHomeAct->setShortcut(QKeySequence(tr("Ctrl+D"))); menuDealer->addAction(dealerHomeAct); QAction *salesDetailsAct = new QAction(("Sales De&tais"), this); salesDetailsAct->setShortcut(QKeySequence(tr("Ctrl+T"))); menuDealer->addAction(salesDetailsAct); QAction *addNewDealerAct = new QAction(("Add New Dealer"), this); menuDealer->addAction(addNewDealerAct); QAction *deleteDealerAct = new QAction(("Delete Dealer"), this); menuDealer->addAction(deleteDealerAct); QAction *updateDealerAct = new QAction(("Edit Dealer Details"), this); menuDealer->addAction(updateDealerAct); menuAccounts = new QMenu(menubar); menuAccounts->setTitle("Accounts"); menubar->addMenu(menuAccounts); QAction *accountsAct = new QAction(("Accounts"), this); accountsAct->setShortcut(QKeySequence(tr("Ctrl+A"))); menuAccounts->addAction(accountsAct); menuReports = new QMenu(menubar); menuReports->setTitle("Reports"); menubar->addMenu(menuReports); QAction *todaysItemSalesAct = new QAction(("Today's &Item Sales"), this); todaysItemSalesAct->setShortcut(QKeySequence(tr("Ctrl+I"))); menuReports->addAction(todaysItemSalesAct); QAction *dailyReportAct = new QAction(("Daily Sales &Report"), this); dailyReportAct->setShortcut(QKeySequence(tr("Ctrl+R"))); menuReports->addAction(dailyReportAct); QAction *itemSalesReportAct = new QAction("Selected Item Sales Report", this); menuReports->addAction(itemSalesReportAct); QAction *historyItemSalesAct = new QAction(("History Item Sales"), this); menuReports->addAction(historyItemSalesAct); menuReports->addSeparator(); QAction *purchaseReportAct = new QAction("Purchase Report", this); menuReports->addAction(purchaseReportAct); QAction *purchaseItemsAct = new QAction("Purchased Item Report", this); menuReports->addAction(purchaseItemsAct); menuSettings = new QMenu(menubar); menuSettings->setTitle("Settings"); menubar->addMenu(menuSettings); QAction *configurationAct = new QAction(("Configure Product"), this); menuSettings->addAction(configurationAct); QAction *deleteDataAct = new QAction("Clear Data", this); menuSettings->addAction(deleteDataAct); QAction *backupAct = new QAction(("Backup"), this); menuSettings->addAction(backupAct); menuHelp = new QMenu(menubar); menuHelp->setTitle("Help"); menubar->addMenu(menuHelp); QAction *shortcutAct = new QAction(("Shorcuts Used"), this); menuHelp->addAction(shortcutAct); QAction *aboutAct = new QAction(("About"), this); menuHelp->addAction(aboutAct); adminHome = new AdminHomeWidget(widgetWidth, this); adminHome->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); manageStock = new ManageStockWidget(widgetWidth, this); manageStock->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); purchaseInvoice = new StockPurchaseInvoiceWidget(widgetWidth, this); purchaseInvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); oldPurchaseInvoice = new OldPurchaseInvoiceWidget(widgetWidth, this); oldPurchaseInvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); invoice = new InvoiceWidget(widgetWidth, this); invoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); dailyReport = new DailySalesReportWidget(widgetWidth, this); dailyReport->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); itemSales = new TodaysItemSalesWidget(widgetWidth, this); itemSales->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); oldInvoice = new OldInvoicesWidget(widgetWidth, this); oldInvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); allInvoices = new AllInvoices(widgetWidth, this); allInvoices->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); oldEstimate = new OldEstimates(widgetWidth, this); oldEstimate->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); itemEstimate = new ItemEstimateWidget(widgetWidth, this); itemEstimate->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); estimate = new EstimateWidget(widgetWidth, this); estimate->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); salesDetails = new SalesDetailsWidget(widgetWidth, this); salesDetails->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); accounts = new AccountsWidget(widgetWidth, this); accounts->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); purchaseReport = new PurchaseReportWidget(widgetWidth, this); purchaseReport->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); purchasedItems = new PurchasedItemWidget(widgetWidth, this); purchasedItems->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); historyDsr = new HistoryDSRWidget(widgetWidth, this); historyDsr->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); historyItemSales = new HistoryItemSalesWidget(widgetWidth, this); historyItemSales->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); historyinvoice = new HistoryInvoiceWidget(widgetWidth, this); historyinvoice->setGeometry(sideWidth, 50, widgetWidth, widgetHeight - 50); /* Main Window setup */ connect( homeAct, SIGNAL(triggered()), this, SLOT(getAdminHome())); connect( todaysItemSalesAct, SIGNAL(triggered()), this, SLOT(getItemSales())); connect( dailyReportAct, SIGNAL(triggered()), this, SLOT(getDailySalesReport())); connect( itemSalesReportAct, SIGNAL(triggered()), this, SLOT(getItemSalesReport())); connect( bulkStockUpdationAct, SIGNAL(triggered()), this, SLOT(getBulkStockUpdationDialog())); connect( stockUpdationAct, SIGNAL(triggered()), this, SLOT(getStockUpdationDialog())); connect( addNewStockAct, SIGNAL(triggered()), this, SLOT(getAddNewStockDialog())); connect( deleteStockact, SIGNAL(triggered()), this, SLOT(getDeleteStockDialog())); connect( updateStockAct, SIGNAL(triggered()), this, SLOT(getUpdateStockDialog())); connect( checkStockAct, SIGNAL(triggered()), this, SLOT(getCheckStockDialog())); connect( changePasswordAct, SIGNAL(triggered()), this, SLOT(getChangePasswordDialog())); connect( refreshAct, SIGNAL(triggered()), this, SLOT(refresh())); connect( fullScreenAct, SIGNAL(triggered()), this, SLOT(getFullScreen())); connect( restartAct, SIGNAL(triggered()), this, SLOT(restart())); connect( quitAct, SIGNAL(triggered()), qApp, SLOT(quit())); connect( manageStockAct, SIGNAL(triggered()), this, SLOT(getManageStockWidget())); connect( stockPruchaseInvoiceAct, SIGNAL(triggered()), this, SLOT(getStockPurchaseInvoice())); connect( oldStockPurchaseInvoiceAct, SIGNAL(triggered()), this, SLOT(getOldStockPurchaseInvoice())); connect( invoiceAct, SIGNAL(triggered()), this, SLOT(getInvoice())); connect( setInvoiceAct, SIGNAL(triggered()), this, SLOT(getSetInvoiceDialog())); connect( cancelInvoiceAct, SIGNAL(triggered()), this, SLOT(cancelInvoice())); connect( oldInvoiceAct, SIGNAL(triggered()), this, SLOT(getOldInvoice())); connect( estimateAct, SIGNAL(triggered()), this, SLOT(getEstimate())); connect( setEstimateAct, SIGNAL(triggered()), this, SLOT(getSetEstimateDialog())); connect( cancelEstimateAct, SIGNAL(triggered()), this, SLOT(cancelEstimate())); connect( oldEstimateAct, SIGNAL(triggered()), this, SLOT(getOldEstimates())); connect( itemEstimateAct, SIGNAL(triggered()), this, SLOT(getItemEstimate())); connect( salesDetailsAct, SIGNAL(triggered()), this, SLOT(getSalesDetails())); connect( accountsAct, SIGNAL(triggered()), this, SLOT(getAccountsWidget())); connect( purchaseReportAct, SIGNAL(triggered()), this, SLOT(getPurchaseReport())); connect( purchaseItemsAct, SIGNAL(triggered()), this, SLOT(getPurchasedItems())); connect( historyItemSalesAct, SIGNAL(triggered()), this, SLOT(getHistoryItemSales())); connect( configurationAct, SIGNAL(triggered()), this, SLOT(getConfiguration())); connect( deleteDataAct, SIGNAL(triggered()), this, SLOT(getDeleteDataAct())); connect( backupAct, SIGNAL(triggered()), this, SLOT(getBackup())); connect( shortcutAct, SIGNAL(triggered()), this, SLOT(shortcuts())); connect( aboutAct, SIGNAL(triggered()), this, SLOT(about())); connect( qApp, SIGNAL(lastWindowClosed()), qApp, SLOT(quit())); hideAllWidgets(); showMinimized(); }
ShowNotesDialog::ShowNotesDialog(int dummy) { event_id = 0; extern Settings *settings; gtkbuilder = gtk_builder_new (); gtk_builder_add_from_file (gtkbuilder, gw_build_filename (Directories->get_package_data(), "gtkbuilder.showprojectnotesdialog.xml").c_str(), NULL); dialog = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "dialog")); GSList *verse_reference_group = NULL; radiobutton_current_verse = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_current_verse")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_current_verse), verse_reference_group); verse_reference_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_current_verse)); g_signal_connect ((gpointer) radiobutton_current_verse, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); radiobutton_current_chapter = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_current_chapter")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_current_chapter), verse_reference_group); verse_reference_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_current_chapter)); g_signal_connect ((gpointer) radiobutton_current_chapter, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); radiobutton_current_book = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_current_book")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_current_book), verse_reference_group); verse_reference_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_current_book)); g_signal_connect ((gpointer) radiobutton_current_book, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); radiobutton_any_verse = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_any_verse")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_any_verse), verse_reference_group); verse_reference_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_any_verse)); g_signal_connect ((gpointer) radiobutton_any_verse, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); GSList *radiobutton_date_group = NULL; radiobutton_today = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_today")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_today), radiobutton_date_group); radiobutton_date_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_today)); g_signal_connect ((gpointer) radiobutton_today, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); radiobutton_between = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_between")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_between), radiobutton_date_group); radiobutton_date_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_between)); g_signal_connect ((gpointer) radiobutton_between, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); button_start = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "button_start")); g_signal_connect((gpointer) button_start, "clicked", G_CALLBACK(on_fromdatebutton_clicked), gpointer(this)); g_signal_connect ((gpointer) button_start, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); button_end = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "button_end")); g_signal_connect((gpointer) button_end, "clicked", G_CALLBACK(on_todatebutton_clicked), gpointer(this)); g_signal_connect ((gpointer) button_end, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); radiobutton_at_any_time = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_at_any_time")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_at_any_time), radiobutton_date_group); radiobutton_date_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_at_any_time)); g_signal_connect ((gpointer) radiobutton_at_any_time, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); // Glade-3 does not seem to be able to work with gtk_combo_box_new_text yet. Workaround below. label_category = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "label_category")); hbox_category = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "hbox_category")); combobox_category = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "combobox_category")); gtk_widget_destroy (combobox_category); combobox_category = gtk_combo_box_new_text(); gtk_widget_show(combobox_category); gtk_box_pack_start(GTK_BOX(hbox_category), combobox_category, TRUE, TRUE, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(label_category), combobox_category); g_signal_connect ((gpointer) combobox_category, "changed", G_CALLBACK (on_combobox_changed), gpointer (this)); GSList *radiobutton_project_group = NULL; radiobutton_current_project = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_current_project")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_current_project), radiobutton_project_group); radiobutton_project_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_current_project)); g_signal_connect ((gpointer) radiobutton_current_project, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); radiobutton_any_project = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_any_project")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_any_project), radiobutton_project_group); radiobutton_project_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_any_project)); g_signal_connect ((gpointer) radiobutton_any_project, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); checkbutton_title = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "checkbutton_title")); g_signal_connect((gpointer) checkbutton_title, "toggled", G_CALLBACK(on_checkbutton_show_title_toggled), gpointer(this)); g_signal_connect ((gpointer) checkbutton_title, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); checkbutton_project = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "checkbutton_project")); g_signal_connect ((gpointer) checkbutton_project, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); checkbutton_category = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "checkbutton_category")); g_signal_connect ((gpointer) checkbutton_category, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); checkbutton_date_created = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "checkbutton_date_created")); g_signal_connect ((gpointer) checkbutton_date_created, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); checkbutton_created_by = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "checkbutton_created_by")); g_signal_connect ((gpointer) checkbutton_created_by, "clicked", G_CALLBACK (on_button_clicked), gpointer (this)); GSList *radiobutton_text_group = NULL; radiobutton_full = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_full")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_full), radiobutton_text_group); radiobutton_text_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_full)); radiobutton_summary = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_summary")); gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_summary), radiobutton_text_group); radiobutton_text_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_summary)); checkbutton_add_ref_text = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "checkbutton_add_ref_text")); // Set the reference selection. GtkToggleButton *refbutton = reference_get_button(settings->genconfig.notes_selection_reference_get()); if (refbutton) { gtk_toggle_button_set_active(refbutton, true); } // Set the edited selection. GtkToggleButton *editbutton = edited_get_button(settings->genconfig.notes_selection_edited_get()); if (editbutton) { gtk_toggle_button_set_active(editbutton, true); } from_day = settings->genconfig.notes_selection_date_from_get(); to_day = settings->genconfig.notes_selection_date_to_get(); // Load available categories and set the combo. ReadText rt(notes_categories_filename()); rt.lines.push_back(all_categories()); combobox_set_strings(combobox_category, rt.lines); ustring category = settings->genconfig.notes_selection_category_get(); if (category.empty()) category = all_categories(); combobox_set_string(combobox_category, category); // Project selection. gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobutton_any_project), !settings->genconfig.notes_selection_current_project_get()); // Title and inclusions. gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_title), settings->session.project_notes_show_title); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_project), settings->genconfig.notes_display_project_get()); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_category), settings->genconfig.notes_display_category_get()); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_date_created), settings->genconfig.notes_display_date_created_get()); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_created_by), settings->genconfig.notes_display_created_by_get()); // Notes text display. gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobutton_summary), settings->genconfig.notes_display_summary_get()); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_add_ref_text), settings->genconfig.notes_display_reference_text_get()); label_result = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "label_result")); Shortcuts shortcuts(0); InDialogHelp * indialoghelp = new InDialogHelp(dialog, gtkbuilder, &shortcuts, "view/project-notes"); shortcuts.process(); cancelbutton = indialoghelp->cancelbutton; okbutton = indialoghelp->okbutton; g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_default(okbutton); set_gui(); }
PrintProjectDialog::PrintProjectDialog(int dummy) { extern Settings *settings; Shortcuts shortcuts(0); printprojectdialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(printprojectdialog), _("Print project")); gtk_window_set_position(GTK_WINDOW(printprojectdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(printprojectdialog), TRUE); gtk_window_set_destroy_with_parent(GTK_WINDOW(printprojectdialog), TRUE); gtk_window_set_type_hint(GTK_WINDOW(printprojectdialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(printprojectdialog)); gtk_widget_show(dialog_vbox1); vbox1 = gtk_vbox_new(FALSE, 2); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox1, TRUE, TRUE, 0); hbox1 = gtk_hbox_new(FALSE, 4); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(vbox1), hbox1, TRUE, TRUE, 0); label1 = gtk_label_new(_("Portion:")); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(hbox1), label1, FALSE, FALSE, 0); label_portion = gtk_label_new(""); gtk_widget_show(label_portion); gtk_box_pack_start(GTK_BOX(hbox1), label_portion, FALSE, FALSE, 0); button_portion = gtk_button_new(); gtk_widget_show(button_portion); gtk_box_pack_start(GTK_BOX(hbox1), button_portion, FALSE, FALSE, 0); alignment1 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment1); gtk_container_add(GTK_CONTAINER(button_portion), alignment1); hbox2 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox2); gtk_container_add(GTK_CONTAINER(alignment1), hbox2); image1 = gtk_image_new_from_stock("gtk-properties", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image1); gtk_box_pack_start(GTK_BOX(hbox2), image1, FALSE, FALSE, 0); label5 = gtk_label_new_with_mnemonic(_("Change")); gtk_widget_show(label5); gtk_box_pack_start(GTK_BOX(hbox2), label5, FALSE, FALSE, 0); shortcuts.label(label5); bool expand = false; if (settings->session.print_references_in_notes_in_full) { expand = true; } expander1 = gtk_expander_new(NULL); gtk_widget_show(expander1); gtk_box_pack_start(GTK_BOX(vbox1), expander1, TRUE, TRUE, 0); gtk_expander_set_expanded(GTK_EXPANDER(expander1), expand); vbox_expander = gtk_vbox_new(FALSE, 5); gtk_widget_show(vbox_expander); gtk_container_add(GTK_CONTAINER(expander1), vbox_expander); checkbutton_full_references = gtk_check_button_new_with_mnemonic(_("Write the references in the notes in full")); gtk_widget_show(checkbutton_full_references); gtk_box_pack_start(GTK_BOX(vbox_expander), checkbutton_full_references, FALSE, FALSE, 0); // TO DO: Add options for 1 column, double spaced here shortcuts.button(checkbutton_full_references); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_full_references), settings->session.print_references_in_notes_in_full); label_expander = gtk_label_new(_("Options")); gtk_widget_show(label_expander); gtk_expander_set_label_widget(GTK_EXPANDER(expander1), label_expander); shortcuts.label(label_expander); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(printprojectdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(printprojectdialog, NULL, &shortcuts, "file/print/project"); cancelbutton1 = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(printprojectdialog), cancelbutton1, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton1), true); okbutton1 = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(printprojectdialog), okbutton1, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton1), true); shortcuts.stockbutton(cancelbutton1); shortcuts.stockbutton(okbutton1); shortcuts.process(); g_signal_connect((gpointer) button_portion, "clicked", G_CALLBACK(on_button_portion_clicked), gpointer(this)); g_signal_connect((gpointer) okbutton1, "clicked", G_CALLBACK(on_okbutton1_clicked), gpointer(this)); gtk_widget_grab_focus(okbutton1); gtk_widget_grab_default(okbutton1); // Set gui. gui_reorder_include(); }
RevertDialog::RevertDialog(Reference * reference) { // Save variables. extern Settings *settings; project = settings->genconfig.project_get(); ProjectConfiguration *projectconfig = settings->projectconfig(project); language = projectconfig->language_get(); reference_chapter = reference->chapter_get(); revisionloaded = false; branch = 0; // Build dialog. Shortcuts shortcuts(0); revertdialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(revertdialog), _("Revert")); gtk_window_set_position(GTK_WINDOW(revertdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_type_hint(GTK_WINDOW(revertdialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (revertdialog)); gtk_widget_show(dialog_vbox1); hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hbox1, TRUE, TRUE, 0); vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(hbox1), vbox1, TRUE, TRUE, 0); table1 = gtk_table_new(2, 2, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(vbox1), table1, FALSE, TRUE, 0); comboboxbook = gtk_combo_box_new_text(); gtk_widget_show(comboboxbook); gtk_table_attach(GTK_TABLE(table1), comboboxbook, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); comboboxchapter = gtk_combo_box_new_text(); gtk_widget_show(comboboxchapter); gtk_table_attach(GTK_TABLE(table1), comboboxchapter, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); labelbook = gtk_label_new(_("Book")); gtk_widget_show(labelbook); gtk_table_attach(GTK_TABLE(table1), labelbook, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(labelbook), 0, 0.5); shortcuts.label(labelbook); gtk_label_set_mnemonic_widget(GTK_LABEL(labelbook), comboboxbook); labelchapter = gtk_label_new(_("Chapter")); gtk_widget_show(labelchapter); gtk_table_attach(GTK_TABLE(table1), labelchapter, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(labelchapter), 0, 0.5); shortcuts.label(labelchapter); gtk_label_set_mnemonic_widget(GTK_LABEL(labelchapter), comboboxchapter); hseparator1 = gtk_hseparator_new(); gtk_widget_show(hseparator1); gtk_box_pack_start(GTK_BOX(vbox1), hseparator1, FALSE, TRUE, 0); labelrevisions = gtk_label_new(_("Revisions")); gtk_widget_show(labelrevisions); gtk_box_pack_start(GTK_BOX(vbox1), labelrevisions, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(labelrevisions), 0, 0.5); shortcuts.label(labelrevisions); scrolledwindowrevisions = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindowrevisions); gtk_box_pack_start(GTK_BOX(vbox1), scrolledwindowrevisions, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindowrevisions), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindowrevisions), GTK_SHADOW_IN); treeviewrevisions = gtk_tree_view_new(); gtk_widget_show(treeviewrevisions); gtk_container_add(GTK_CONTAINER(scrolledwindowrevisions), treeviewrevisions); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeviewrevisions), FALSE); gtk_label_set_mnemonic_widget(GTK_LABEL(labelrevisions), treeviewrevisions); // Create treeview related stuff. store = gtk_list_store_new(1, G_TYPE_STRING); gtk_tree_view_set_model(GTK_TREE_VIEW(treeviewrevisions), GTK_TREE_MODEL(store)); g_object_unref(store); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeviewrevisions), column); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeviewrevisions)); gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE); vseparator1 = gtk_vseparator_new(); gtk_widget_show(vseparator1); gtk_box_pack_start(GTK_BOX(hbox1), vseparator1, FALSE, TRUE, 0); vbox2 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox2); gtk_box_pack_start(GTK_BOX(hbox1), vbox2, TRUE, TRUE, 0); GSList *radiobutton_current_group = NULL; radiobutton_current = gtk_radio_button_new_with_mnemonic (NULL, _("View current version")); gtk_widget_show (radiobutton_current); gtk_box_pack_start (GTK_BOX (vbox2), radiobutton_current, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_current), radiobutton_current_group); radiobutton_current_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_current)); shortcuts.button(radiobutton_current); radiobutton_previous = gtk_radio_button_new_with_mnemonic (NULL, _("View previous revision")); gtk_widget_show (radiobutton_previous); gtk_box_pack_start (GTK_BOX (vbox2), radiobutton_previous, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_previous), radiobutton_current_group); radiobutton_current_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_previous)); shortcuts.button(radiobutton_previous); radiobutton_changes = gtk_radio_button_new_with_mnemonic (NULL, _("View changes if reverting to previous revision")); gtk_widget_show (radiobutton_changes); gtk_box_pack_start (GTK_BOX (vbox2), radiobutton_changes, FALSE, FALSE, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_changes), radiobutton_current_group); radiobutton_current_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_changes)); shortcuts.button(radiobutton_changes); changes_gui = new DisplayChangesGui (vbox2); gtk_widget_set_size_request(changes_gui->textview, 450, 500); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(revertdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(revertdialog, NULL, &shortcuts, "edit/revert"); cancelbutton1 = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(revertdialog), cancelbutton1, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton1), true); okbutton1 = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(revertdialog), okbutton1, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton1), true); shortcuts.stockbutton(cancelbutton1); shortcuts.stockbutton(okbutton1); shortcuts.process(); g_signal_connect((gpointer) comboboxbook, "changed", G_CALLBACK(on_comboboxbook_changed), gpointer(this)); g_signal_connect((gpointer) comboboxchapter, "changed", G_CALLBACK(on_comboboxchapter_changed), gpointer(this)); g_signal_connect((gpointer) treeviewrevisions, "row_activated", G_CALLBACK(on_treeviewrevisions_row_activated), gpointer(this)); g_signal_connect((gpointer) okbutton1, "clicked", G_CALLBACK(on_okbutton1_clicked), gpointer(this)); g_signal_connect ((gpointer) radiobutton_current, "toggled", G_CALLBACK (on_radiobutton_toggled), gpointer(this)); g_signal_connect ((gpointer) radiobutton_previous, "toggled", G_CALLBACK (on_radiobutton_toggled), gpointer(this)); g_signal_connect ((gpointer) radiobutton_changes, "toggled", G_CALLBACK (on_radiobutton_toggled), gpointer(this)); gtk_widget_grab_focus(okbutton1); gtk_widget_grab_default(okbutton1); // Load books. This also loads the chapters through the callback. vector < unsigned int >books = project_get_books(project); vector < ustring > localbooks; for (unsigned int i = 0; i < books.size(); i++) { localbooks.push_back(books_id_to_name(language, books[i])); } combobox_set_strings(comboboxbook, localbooks); combobox_set_string(comboboxbook, books_id_to_name(language, reference->book_get())); // By default view changes. gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton_changes), true); }
GotoReferenceDialog::GotoReferenceDialog(unsigned int currentbook, unsigned int currentchapter, const ustring & currentverse) { // Init variables extern Settings *settings; ProjectConfiguration *projectconfig = settings->projectconfig(settings->genconfig.project_get()); language = projectconfig->language_get(); newreference = false; oldbook = currentbook; oldchapter = currentchapter; oldverse = currentverse; go_back = false; go_forward = false; Shortcuts shortcuts(0); gtkbuilder = gtk_builder_new (); gtk_builder_add_from_file (gtkbuilder, gw_build_filename (Directories->get_package_data(), "gtkbuilder.gotoreferencedialog.xml").c_str(), NULL); dialog = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "dialog")); g_signal_connect((gpointer) dialog, "key_press_event", G_CALLBACK(on_key_press_event), gpointer(this)); notebook = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "notebook")); // Enter current reference into the free entry, and select it, so user can use that. entry_free = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "entry_free")); gtk_widget_grab_focus(entry_free); ustring ref = books_id_to_name(language, currentbook) + " " + convert_to_string(currentchapter) + ":" + currentverse; gtk_entry_set_text(GTK_ENTRY(entry_free), ref.c_str()); gtk_editable_select_region(GTK_EDITABLE(entry_free), 0, -1); // Completion for the reference entry. completion_setup(entry_free, cpGoto); // Signals entry. g_signal_connect((gpointer) entry_free, "activate", G_CALLBACK(on_entry_free_activate), gpointer(this)); // Aided entry widgets. treeview_book = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "treeview_book")); treeview_chapter = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "treeview_chapter")); treeview_verse = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "treeview_verse")); // Connect to the signals of the treeviews. g_signal_connect_after((gpointer) treeview_book, "move_cursor", G_CALLBACK(on_treeview_book_move_cursor), gpointer(this)); g_signal_connect_after((gpointer) treeview_book, "row_activated", G_CALLBACK(on_treeview_book_row_activated), gpointer(this)); g_signal_connect_after((gpointer) treeview_chapter, "move_cursor", G_CALLBACK(on_treeview_chapter_move_cursor), gpointer(this)); g_signal_connect_after((gpointer) treeview_chapter, "row_activated", G_CALLBACK(on_treeview_chapter_row_activated), gpointer(this)); g_signal_connect_after((gpointer) treeview_verse, "move_cursor", G_CALLBACK(on_treeview_verse_move_cursor), gpointer(this)); g_signal_connect_after((gpointer) treeview_verse, "row_activated", G_CALLBACK(on_treeview_verse_row_activated), gpointer(this)); // Create stores and fill the book store. store_book = gtk_list_store_new(1, G_TYPE_STRING); store_chapter = gtk_list_store_new(1, G_TYPE_STRING); store_verse = gtk_list_store_new(1, G_TYPE_STRING); vector < unsigned int >ibooks = project_get_books(settings->genconfig.project_get()); vector < ustring > ubooks; for (unsigned int i = 0; i < ibooks.size(); i++) ubooks.push_back(books_id_to_name(language, ibooks[i])); listview_set_strings(treeview_book, store_book, ubooks); // Set the stores as models for the treeviews. gtk_tree_view_set_model(GTK_TREE_VIEW(treeview_book), GTK_TREE_MODEL(store_book)); gtk_tree_view_set_model(GTK_TREE_VIEW(treeview_chapter), GTK_TREE_MODEL(store_chapter)); gtk_tree_view_set_model(GTK_TREE_VIEW(treeview_verse), GTK_TREE_MODEL(store_verse)); // Unreference the stores once, so they get destroyed with the treeview. g_object_unref(store_book); g_object_unref(store_chapter); g_object_unref(store_verse); // Text cell renderer. GtkCellRenderer *renderer; renderer = gtk_cell_renderer_text_new(); // Columns. GtkTreeViewColumn *column_book; column_book = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_book), column_book); GtkTreeViewColumn *column_chapter; column_chapter = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_chapter), column_chapter); GtkTreeViewColumn *column_verse; column_verse = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(treeview_verse), column_verse); // Set up the selection for each of the tree views. GtkTreeSelection *select_book; select_book = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview_book)); gtk_tree_selection_set_mode(select_book, GTK_SELECTION_SINGLE); GtkTreeSelection *select_chapter; select_chapter = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview_chapter)); gtk_tree_selection_set_mode(select_chapter, GTK_SELECTION_SINGLE); GtkTreeSelection *select_verse; select_verse = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview_verse)); gtk_tree_selection_set_mode(select_verse, GTK_SELECTION_SINGLE); // History back. radiobutton_back = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_back")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton_back), true); // History forward. radiobutton_forward = GTK_WIDGET (gtk_builder_get_object (gtkbuilder, "radiobutton_forward")); // Link history button. GSList *history_button_group = NULL; gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_back), history_button_group); history_button_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_back)); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton_forward), history_button_group); history_button_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton_forward)); // Dialog action area. InDialogHelp * indialoghelp = new InDialogHelp(dialog, gtkbuilder, &shortcuts, NULL); cancelbutton = indialoghelp->cancelbutton; okbutton = indialoghelp->okbutton; gtk_widget_grab_default(okbutton); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); }
WordlistDialog::WordlistDialog(int dummy) { extern Settings *settings; Shortcuts shortcuts(0); wordlistdialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(wordlistdialog), _("Wordlists")); gtk_window_set_position(GTK_WINDOW(wordlistdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(wordlistdialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (wordlistdialog)); gtk_widget_show(dialog_vbox1); label1 = gtk_label_new(_("This updates the word list entries in the text and generates lists of them")); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), label1, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5); hseparator1 = gtk_hseparator_new(); gtk_widget_show(hseparator1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hseparator1, FALSE, FALSE, 0); vbox2 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox2); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox2, TRUE, TRUE, 0); checkbutton_wordlist = gtk_check_button_new_with_mnemonic(_("Process general word list")); gtk_widget_show(checkbutton_wordlist); gtk_box_pack_start(GTK_BOX(vbox2), checkbutton_wordlist, FALSE, FALSE, 0); shortcuts.button(checkbutton_wordlist); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_wordlist), settings->genconfig.wordlist_process_general_get()); label3 = gtk_label_new(_("Insert list between markers \\zopenwordlist and \\zclosewordlist")); gtk_widget_show(label3); gtk_box_pack_start(GTK_BOX(vbox2), label3, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5); hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(vbox2), hbox1, FALSE, FALSE, 0); checkbutton_asterisk_general = gtk_check_button_new_with_mnemonic(_("Add an asterisk to each word entry")); gtk_widget_show(checkbutton_asterisk_general); gtk_box_pack_start(GTK_BOX(hbox1), checkbutton_asterisk_general, FALSE, FALSE, 0); shortcuts.button(checkbutton_asterisk_general); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_asterisk_general), settings->genconfig.wordlist_general_asterisk_get()); checkbutton_general_first_time = gtk_check_button_new_with_mnemonic(_("the first time it occurs in a section")); gtk_widget_show(checkbutton_general_first_time); gtk_box_pack_start(GTK_BOX(hbox1), checkbutton_general_first_time, FALSE, FALSE, 0); shortcuts.button(checkbutton_general_first_time); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_general_first_time), settings->genconfig.wordlist_general_asterisk_first_get()); hseparator3 = gtk_hseparator_new(); gtk_widget_show(hseparator3); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hseparator3, TRUE, TRUE, 0); vbox3 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox3); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox3, TRUE, TRUE, 0); checkbutton_hebrew_wordlist = gtk_check_button_new_with_mnemonic(_("Process Hebrew word list")); gtk_widget_show(checkbutton_hebrew_wordlist); gtk_box_pack_start(GTK_BOX(vbox3), checkbutton_hebrew_wordlist, FALSE, FALSE, 0); shortcuts.button(checkbutton_hebrew_wordlist); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_hebrew_wordlist), settings->genconfig.wordlist_process_hebrew_get()); label4 = gtk_label_new(_("Insert the list between markers \\zopenhebrewwordlist and \\zclosehebrewwordlist")); gtk_widget_show(label4); gtk_box_pack_start(GTK_BOX(vbox3), label4, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label4), 0, 0.5); hbox2 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox2); gtk_box_pack_start(GTK_BOX(vbox3), hbox2, TRUE, TRUE, 0); checkbutton_asterisk_hebrew = gtk_check_button_new_with_mnemonic(_("Add an asterisk to each word entry")); gtk_widget_show(checkbutton_asterisk_hebrew); gtk_box_pack_start(GTK_BOX(hbox2), checkbutton_asterisk_hebrew, FALSE, FALSE, 0); shortcuts.button(checkbutton_asterisk_hebrew); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_asterisk_hebrew), settings->genconfig.wordlist_hebrew_asterisk_get()); checkbutton_hebrew_firsttime = gtk_check_button_new_with_mnemonic(_("the first time it occurs in a section")); gtk_widget_show(checkbutton_hebrew_firsttime); gtk_box_pack_start(GTK_BOX(hbox2), checkbutton_hebrew_firsttime, FALSE, FALSE, 0); shortcuts.button(checkbutton_hebrew_firsttime); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_hebrew_firsttime), settings->genconfig.wordlist_hebrew_asterisk_first_get()); hseparator4 = gtk_hseparator_new(); gtk_widget_show(hseparator4); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hseparator4, TRUE, TRUE, 0); vbox4 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox4); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox4, FALSE, FALSE, 0); checkbutton_greek_wordlist = gtk_check_button_new_with_mnemonic(_("Process Greek word list")); gtk_widget_show(checkbutton_greek_wordlist); gtk_box_pack_start(GTK_BOX(vbox4), checkbutton_greek_wordlist, FALSE, FALSE, 0); shortcuts.button(checkbutton_greek_wordlist); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_greek_wordlist), settings->genconfig.wordlist_process_greek_get()); label5 = gtk_label_new(_("Insert the list between markers \\zopengreekwordlist and \\zclosegreekwordlist")); gtk_widget_show(label5); gtk_box_pack_start(GTK_BOX(vbox4), label5, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label5), 0, 0.5); hbox3 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox3); gtk_box_pack_start(GTK_BOX(vbox4), hbox3, TRUE, TRUE, 0); checkbutton_asterisk_greek = gtk_check_button_new_with_mnemonic(_("Add an asterisk to each word entry")); gtk_widget_show(checkbutton_asterisk_greek); gtk_box_pack_start(GTK_BOX(hbox3), checkbutton_asterisk_greek, FALSE, FALSE, 0); shortcuts.button(checkbutton_asterisk_greek); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_asterisk_greek), settings->genconfig.wordlist_greek_asterisk_get()); checkbutton_greek_first_time = gtk_check_button_new_with_mnemonic(_("the first time it occurs in a section")); gtk_widget_show(checkbutton_greek_first_time); gtk_box_pack_start(GTK_BOX(hbox3), checkbutton_greek_first_time, FALSE, FALSE, 0); shortcuts.button(checkbutton_greek_first_time); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_greek_first_time), settings->genconfig.wordlist_greek_asterisk_first_get()); hseparator6 = gtk_hseparator_new(); gtk_widget_show(hseparator6); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hseparator6, TRUE, TRUE, 0); vbox6 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox6); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox6, FALSE, FALSE, 0); checkbutton_index = gtk_check_button_new_with_mnemonic(_("Process index")); gtk_widget_show(checkbutton_index); gtk_box_pack_start(GTK_BOX(vbox6), checkbutton_index, FALSE, FALSE, 0); shortcuts.button(checkbutton_index); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_index), settings->genconfig.wordlist_process_index_get()); label6 = gtk_label_new(_("Insert the list between markers \\zopenindex and \\zcloseindex")); gtk_widget_show(label6); gtk_box_pack_start(GTK_BOX(vbox6), label6, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label6), 0, 0.5); hbox6 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox6); gtk_box_pack_start(GTK_BOX(vbox6), hbox6, TRUE, TRUE, 0); checkbutton_asterisk_index = gtk_check_button_new_with_mnemonic(_("Add an asterisk to each word entry")); gtk_widget_show(checkbutton_asterisk_index); gtk_box_pack_start(GTK_BOX(hbox6), checkbutton_asterisk_index, FALSE, FALSE, 0); shortcuts.button(checkbutton_asterisk_index); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_asterisk_index), settings->genconfig.wordlist_index_asterisk_get()); checkbutton_index_first_time = gtk_check_button_new_with_mnemonic(_("the first time it occurs in a chapter")); gtk_widget_show(checkbutton_index_first_time); gtk_box_pack_start(GTK_BOX(hbox6), checkbutton_index_first_time, FALSE, FALSE, 0); shortcuts.button(checkbutton_index_first_time); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_index_first_time), settings->genconfig.wordlist_index_asterisk_first_get()); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(wordlistdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(wordlistdialog, NULL, &shortcuts, "tools/generate-word-lists"); cancelbutton = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton); gtk_dialog_add_action_widget(GTK_DIALOG(wordlistdialog), cancelbutton, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton), true); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(wordlistdialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(cancelbutton); shortcuts.stockbutton(okbutton); shortcuts.process(); g_signal_connect((gpointer) checkbutton_wordlist, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_asterisk_general, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_hebrew_wordlist, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_asterisk_hebrew, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_greek_wordlist, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_asterisk_greek, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_index, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) checkbutton_asterisk_index, "toggled", G_CALLBACK(on_checkbutton_toggled), gpointer(this)); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_focus(okbutton); gtk_widget_grab_default(okbutton); gui(); }
void MyAction::addShortcut(QKeySequence key) { setShortcuts( shortcuts() << key); }
void CodeWindow::getCommandInfo (const CommandID commandID, ApplicationCommandInfo& result) { KeyboardShortcutKeys shortcuts(appProperties->getUserSettings()->getXmlValue("KeyboardShortcutXmlData")); switch (commandID) { //file commands case CommandIDs::fileNew: result.setInfo (String("New"), String("Create a new file"), CommandCategories::file, 0); result.addDefaultKeypress ('n', ModifierKeys::commandModifier); break; case CommandIDs::fileOpen: result.setInfo (String("Open"), String("Open a file"), CommandCategories::file, 0); result.addDefaultKeypress ('o', ModifierKeys::commandModifier); break; case CommandIDs::fileSave: result.setInfo (String("Save"), String("Save a file"), CommandCategories::file, 0); result.addDefaultKeypress ('s', ModifierKeys::commandModifier); break; case CommandIDs::fileSaveAs: result.setInfo (String("Save as"), String("Save file as.."), CommandCategories::file, 0); result.addDefaultKeypress ('s', ModifierKeys::shiftModifier | ModifierKeys::commandModifier); break; case CommandIDs::fileQuit: result.setInfo (String("Quit"), String("Quit"), CommandCategories::file, 0); result.addDefaultKeypress ('s', ModifierKeys::shiftModifier | ModifierKeys::commandModifier); break; case CommandIDs::fileUpdateGUI: result.setInfo (String("Update GUI"), String("Update GUI"), CommandCategories::file, 0); result.addDefaultKeypress ('#', ModifierKeys::commandModifier); break; case CommandIDs::fileKeyboardShorts: result.setInfo (String("Keyboard Shortcuts"), String("Update GUI"), CommandCategories::file, 0); break; //edit commands case CommandIDs::editUndo: result.setInfo (String("Undo"), String("Undo last action"), CommandCategories::edit, 0); result.addDefaultKeypress ('z', ModifierKeys::commandModifier); break; case CommandIDs::editRedo: result.setInfo (String("Redo"), String("Redo last action"), CommandCategories::edit, 0); result.addDefaultKeypress ('z', ModifierKeys::shiftModifier | ModifierKeys::commandModifier); break; case CommandIDs::editCut: result.setInfo (String("Cut"), String("Cut selection"), CommandCategories::edit, 0); result.addDefaultKeypress ('x', ModifierKeys::commandModifier); break; case CommandIDs::editCopy: result.setInfo (String("Copy"), String("Copy selection"), CommandCategories::edit, 0); result.addDefaultKeypress ('c', ModifierKeys::commandModifier); break; case CommandIDs::editPaste: result.setInfo (String("Paste"), String("Paste selection"), CommandCategories::edit, 0); result.addDefaultKeypress ('v', ModifierKeys::commandModifier); break; case CommandIDs::editToggleText: result.setInfo (String("Toggle output"), String("Toggle output"), CommandCategories::edit, 0); result.addDefaultKeypress ('t', ModifierKeys::commandModifier); break; case CommandIDs::editZoomIn: result.setInfo (String("Zoom in"), String("Zoom in"), CommandCategories::edit, 0); result.addDefaultKeypress ('=', ModifierKeys::commandModifier); break; case CommandIDs::editZoomOut: result.setInfo (String("Zoom out"), String("Zoom out"), CommandCategories::edit, 0); result.addDefaultKeypress ('-', ModifierKeys::commandModifier); break; case CommandIDs::whiteBackground: result.setInfo (String("White background"), String("White scheme"), CommandCategories::edit, 0); break; case CommandIDs::blackBackground: result.setInfo (String("Dark background"), String("Dark scheme"), CommandCategories::edit, 0); break; case CommandIDs::insertFromRepo: result.setInfo (String("Insert from repo"), String("Insert from repo"), CommandCategories::edit, 0); //result.defaultKeypresses.add (KeyPress::createFromDescription(shortcuts.getKeyPress("InsertFromRepo"))); //result.addDefaultKeypress (KeyPress::createFromDescription(shortcuts.getKeyPress("InsertFromRepo"))); break; case CommandIDs::addFromRepo: result.setInfo (String("Add from repo"), String("Add from repo"), CommandCategories::edit, 0); result.addDefaultKeypress ('j', ModifierKeys::commandModifier); break; case CommandIDs::insertRecentEvent: result.setInfo (String("Insert recent event"), String("Insert recent event"), CommandCategories::edit, 0); result.addDefaultKeypress ('e', ModifierKeys::commandModifier | ModifierKeys::altModifier); break; case CommandIDs::openPythonEditor: result.setInfo (String("Insert Python code"), String("Insert Python code"), CommandCategories::edit, 0); result.addDefaultKeypress ('p', ModifierKeys::commandModifier | ModifierKeys::altModifier); break; case CommandIDs::AudioSettings: result.setInfo (String("Audio Settings"), String("Edit audio settings"), CommandCategories::edit, 0); break; //interactive commands case CommandIDs::commOrchUpdateInstrument: result.setInfo (String("Update entire instr"), String("Update entire instr"), CommandCategories::command, 0); result.addDefaultKeypress ('u', ModifierKeys::commandModifier); break; case CommandIDs::startSession: result.setInfo (String("Restart Session"), String("Restart Session"), CommandCategories::command, 0); result.addDefaultKeypress ('r', ModifierKeys::commandModifier); break; case CommandIDs::commOrchUpdateMultiLine: result.setInfo (String("Update orc multi-line"), String("Update orch mutli-line"), CommandCategories::command, 0); result.addDefaultKeypress ('m', ModifierKeys::commandModifier); break; case CommandIDs::commOrchUpdateSingleLine: result.setInfo (String("Update orc single-line"), String("Update orch single-line"), CommandCategories::command, 0); result.addDefaultKeypress ('l', ModifierKeys::commandModifier); break; case CommandIDs::commScoUpdateMultiLine: result.setInfo (String("Update sco multi-line"), String("Update orch multi-line"), CommandCategories::command, 0); result.addDefaultKeypress ('p', ModifierKeys::commandModifier); break; case CommandIDs::commScoUpdateSingleLine: result.setInfo (String("Update sco single-line"), String("Update orch multi-line"), CommandCategories::command, 0); result.addDefaultKeypress ('e', ModifierKeys::commandModifier); break; case CommandIDs::commOrcUpdateChannel: result.setInfo (String("Update channel"), String("Update channel"), CommandCategories::command, 0); result.addDefaultKeypress ('c', ModifierKeys::altModifier | ModifierKeys::commandModifier); break; case CommandIDs::viewCsoundHelp: #ifndef MACOSX result.setInfo (String("Toggle Csound Manual F1"), String("Toggle Csound Manual"), CommandCategories::help, 0); result.defaultKeypresses.add(KeyPress(KeyPress::F1Key)); #else result.setInfo (String("Toggle Csound Manual Ctrl+1"), String("Toggle Csound Manual"), CommandCategories::help, 0); result.addDefaultKeypress ('1', ModifierKeys::commandModifier); #endif break; case CommandIDs::viewCabbageHelp: result.setInfo (String("Toggle Cabbage Manual"), String("Toggle Cabbage Manual"), CommandCategories::help, 0); break; } }
MyChecksDialog::MyChecksDialog(WindowReferences * references_window) { // Save variables. my_references_window = references_window; // Shortcuts. Shortcuts shortcuts(0); // Build gui. mychecksdialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(mychecksdialog), _("My checks")); gtk_window_set_position(GTK_WINDOW(mychecksdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(mychecksdialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(mychecksdialog)); gtk_widget_show(dialog_vbox1); vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox1, TRUE, TRUE, 0); label1 = gtk_label_new(_("Chapters and verses")); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(vbox1), label1, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5); checkbutton_chapters_verses = gtk_check_button_new_with_mnemonic(_("Chapters and verses")); gtk_widget_show(checkbutton_chapters_verses); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_chapters_verses, FALSE, FALSE, 0); shortcuts.button(checkbutton_chapters_verses); hseparator1 = gtk_hseparator_new(); gtk_widget_show(hseparator1); gtk_box_pack_start(GTK_BOX(vbox1), hseparator1, TRUE, TRUE, 0); label2 = gtk_label_new(_("Markers")); gtk_widget_show(label2); gtk_box_pack_start(GTK_BOX(vbox1), label2, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label2), 0, 0.5); checkbutton_markers_validate = gtk_check_button_new_with_mnemonic(_("Validate")); gtk_widget_show(checkbutton_markers_validate); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_markers_validate, FALSE, FALSE, 0); shortcuts.button(checkbutton_markers_validate); checkbutton_markers_count = gtk_check_button_new_with_mnemonic(_("Count")); gtk_widget_show(checkbutton_markers_count); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_markers_count, FALSE, FALSE, 0); shortcuts.button(checkbutton_markers_count); checkbutton_markers_compare = gtk_check_button_new_with_mnemonic(_("Compare")); gtk_widget_show(checkbutton_markers_compare); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_markers_compare, FALSE, FALSE, 0); shortcuts.button(checkbutton_markers_compare); checkbutton_markers_spacing = gtk_check_button_new_with_mnemonic(_("Spacing")); gtk_widget_show(checkbutton_markers_spacing); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_markers_spacing, FALSE, FALSE, 0); shortcuts.button(checkbutton_markers_spacing); hseparator2 = gtk_hseparator_new(); gtk_widget_show(hseparator2); gtk_box_pack_start(GTK_BOX(vbox1), hseparator2, TRUE, TRUE, 0); label3 = gtk_label_new(_("Characters")); gtk_widget_show(label3); gtk_box_pack_start(GTK_BOX(vbox1), label3, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5); checkbutton_characters_inventory = gtk_check_button_new_with_mnemonic(_("Inventory")); gtk_widget_show(checkbutton_characters_inventory); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_characters_inventory, FALSE, FALSE, 0); shortcuts.button(checkbutton_characters_inventory); checkbutton_characters_unwanted_patterns = gtk_check_button_new_with_mnemonic(_("Unwanted patterns")); gtk_widget_show(checkbutton_characters_unwanted_patterns); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_characters_unwanted_patterns, FALSE, FALSE, 0); shortcuts.button(checkbutton_characters_unwanted_patterns); hseparator3 = gtk_hseparator_new(); gtk_widget_show(hseparator3); gtk_box_pack_start(GTK_BOX(vbox1), hseparator3, TRUE, TRUE, 0); label4 = gtk_label_new(_("Words")); gtk_widget_show(label4); gtk_box_pack_start(GTK_BOX(vbox1), label4, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label4), 0, 0.5); checkbutton_words_capitalization = gtk_check_button_new_with_mnemonic(_("Capitalization")); gtk_widget_show(checkbutton_words_capitalization); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_words_capitalization, FALSE, FALSE, 0); shortcuts.button(checkbutton_words_capitalization); checkbutton_words_repetition = gtk_check_button_new_with_mnemonic(_("Repetition")); gtk_widget_show(checkbutton_words_repetition); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_words_repetition, FALSE, FALSE, 0); shortcuts.button(checkbutton_words_repetition); checkbutton_words_unwanted = gtk_check_button_new_with_mnemonic(_("Unwanted")); gtk_widget_show(checkbutton_words_unwanted); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_words_unwanted, FALSE, FALSE, 0); shortcuts.button(checkbutton_words_unwanted); checkbutton_words_inventory = gtk_check_button_new_with_mnemonic(_("Inventory")); gtk_widget_show(checkbutton_words_inventory); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_words_inventory, FALSE, FALSE, 0); shortcuts.button(checkbutton_words_inventory); hseparator4 = gtk_hseparator_new(); gtk_widget_show(hseparator4); gtk_box_pack_start(GTK_BOX(vbox1), hseparator4, TRUE, TRUE, 0); label5 = gtk_label_new(_("Punctuation")); gtk_widget_show(label5); gtk_box_pack_start(GTK_BOX(vbox1), label5, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label5), 0, 0.5); checkbutton_punctuation_matching_pairs = gtk_check_button_new_with_mnemonic(_("Matching pairs")); gtk_widget_show(checkbutton_punctuation_matching_pairs); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_punctuation_matching_pairs, FALSE, FALSE, 0); shortcuts.button(checkbutton_punctuation_matching_pairs); hseparator5 = gtk_hseparator_new(); gtk_widget_show(hseparator5); gtk_box_pack_start(GTK_BOX(vbox1), hseparator5, TRUE, TRUE, 0); label6 = gtk_label_new(_("References")); gtk_widget_show(label6); gtk_box_pack_start(GTK_BOX(vbox1), label6, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label6), 0, 0.5); checkbutton_references_inventory = gtk_check_button_new_with_mnemonic(_("Inventory")); gtk_widget_show(checkbutton_references_inventory); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_references_inventory, FALSE, FALSE, 0); shortcuts.button(checkbutton_references_inventory); checkbutton_references_validate = gtk_check_button_new_with_mnemonic(_("Validate")); gtk_widget_show(checkbutton_references_validate); gtk_box_pack_start(GTK_BOX(vbox1), checkbutton_references_validate, FALSE, FALSE, 0); shortcuts.button(checkbutton_references_validate); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(mychecksdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(mychecksdialog, NULL, &shortcuts, NULL); cancelbutton = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton); gtk_dialog_add_action_widget(GTK_DIALOG(mychecksdialog), cancelbutton, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton), true); shortcuts.stockbutton(cancelbutton); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(mychecksdialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(okbutton); shortcuts.process(); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_default(okbutton); gtk_widget_grab_focus(okbutton); // Set checkbuttons. extern Settings *settings; ustring pattern = settings->genconfig.mychecks_get(); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_chapters_verses), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_markers_validate), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_markers_count), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_markers_compare), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_characters_inventory), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_characters_unwanted_patterns), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_words_capitalization), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_words_repetition), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_words_unwanted), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_words_inventory), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_punctuation_matching_pairs), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_markers_spacing), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_references_inventory), bitpattern_take(pattern)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_references_validate), bitpattern_take(pattern)); }
FiltersDialog::FiltersDialog(int dummy) { rulesbuffer_changed_event_id = 0; Shortcuts shortcuts(0); filterdialog = gtk_dialog_new(); gtk_widget_set_size_request(filterdialog, 640, 640); gtk_window_set_title(GTK_WINDOW(filterdialog), _("Filters")); gtk_window_set_position(GTK_WINDOW(filterdialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(filterdialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (filterdialog)); gtk_widget_show(dialog_vbox1); label_rules = gtk_label_new(_("Rules")); gtk_widget_show(label_rules); gtk_box_pack_start(GTK_BOX(dialog_vbox1), label_rules, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_rules), 0, 0.5); shortcuts.label(label_rules); scrolledwindow_rules = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindow_rules); gtk_box_pack_start(GTK_BOX(dialog_vbox1), scrolledwindow_rules, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow_rules), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow_rules), GTK_SHADOW_IN); textview_rules = gtk_text_view_new(); gtk_widget_show(textview_rules); gtk_container_add(GTK_CONTAINER(scrolledwindow_rules), textview_rules); gtk_label_set_mnemonic_widget(GTK_LABEL(label_rules), textview_rules); rulesbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview_rules)); label2 = gtk_label_new(_("Input <- Try the rules -> Output")); gtk_widget_show(label2); gtk_box_pack_start(GTK_BOX(dialog_vbox1), label2, FALSE, FALSE, 0); shortcuts.label(label2); hbox2 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox2); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hbox2, FALSE, TRUE, 0); scrolledwindow_input = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindow_input); gtk_box_pack_start(GTK_BOX(hbox2), scrolledwindow_input, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow_input), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow_input), GTK_SHADOW_IN); textview_input = gtk_text_view_new(); gtk_widget_show(textview_input); gtk_container_add(GTK_CONTAINER(scrolledwindow_input), textview_input); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(textview_input), GTK_WRAP_WORD); gtk_label_set_mnemonic_widget(GTK_LABEL(label2), textview_input); gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview_input)), _("\\p This is text to try the filter on."), -1); vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(hbox2), vbox1, FALSE, FALSE, 0); button_try = gtk_button_new(); gtk_widget_show(button_try); gtk_box_pack_start(GTK_BOX(vbox1), button_try, FALSE, FALSE, 0); alignment1 = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_widget_show(alignment1); gtk_container_add(GTK_CONTAINER(button_try), alignment1); hbox3 = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox3); gtk_container_add(GTK_CONTAINER(alignment1), hbox3); image1 = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_BUTTON); gtk_widget_show(image1); gtk_box_pack_start(GTK_BOX(hbox3), image1, FALSE, FALSE, 0); label3 = gtk_label_new_with_mnemonic(_("Try")); gtk_widget_show(label3); gtk_box_pack_start(GTK_BOX(hbox3), label3, FALSE, FALSE, 0); shortcuts.label(label3); scrolledwindow_output = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindow_output); gtk_box_pack_start(GTK_BOX(hbox2), scrolledwindow_output, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow_output), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow_output), GTK_SHADOW_IN); textview_output = gtk_text_view_new(); gtk_widget_show(textview_output); gtk_container_add(GTK_CONTAINER(scrolledwindow_output), textview_output); gtk_text_view_set_editable(GTK_TEXT_VIEW(textview_output), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(textview_output), GTK_WRAP_WORD); hbox1 = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), hbox1, FALSE, FALSE, 0); button_new = gtk_button_new_from_stock("gtk-new"); gtk_widget_show(button_new); gtk_box_pack_start(GTK_BOX(hbox1), button_new, FALSE, FALSE, 0); shortcuts.stockbutton(button_new); combobox_filters = gtk_combo_box_new_text(); gtk_widget_show(combobox_filters); gtk_box_pack_start(GTK_BOX(hbox1), combobox_filters, TRUE, TRUE, 0); label_type = gtk_label_new(""); gtk_widget_show(label_type); gtk_box_pack_start(GTK_BOX(hbox1), label_type, FALSE, FALSE, 0); button_delete = gtk_button_new_from_stock("gtk-delete"); gtk_widget_show(button_delete); gtk_box_pack_start(GTK_BOX(hbox1), button_delete, FALSE, FALSE, 0); shortcuts.stockbutton(button_delete); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(filterdialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(filterdialog, NULL, &shortcuts, _("menu-preferences/filters")); cancelbutton = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton); gtk_dialog_add_action_widget(GTK_DIALOG(filterdialog), cancelbutton, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton), true); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(filterdialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(cancelbutton); shortcuts.stockbutton(okbutton); shortcuts.process(); g_signal_connect((gpointer) button_try, "clicked", G_CALLBACK(on_button_try_clicked), gpointer(this)); g_signal_connect((gpointer) button_new, "clicked", G_CALLBACK(on_button_new_clicked), gpointer(this)); g_signal_connect((gpointer) combobox_filters, "changed", G_CALLBACK(on_combobox_filters_changed), gpointer(this)); g_signal_connect((gpointer) button_delete, "clicked", G_CALLBACK(on_button_delete_clicked), gpointer(this)); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); g_signal_connect_after((gpointer) rulesbuffer, "changed", G_CALLBACK(on_rulesbuffer_changed), gpointer(this)); gtk_widget_grab_focus(textview_rules); gtk_widget_grab_default(okbutton); load_filters(""); }
CheckbuttonDialog::CheckbuttonDialog(const ustring & title, const ustring & info, const vector < ustring > &labels, ustring bitpattern, GtkWindow *transient_parent) { Shortcuts shortcuts(0); checkbuttondialog = gtk_dialog_new(); gtk_window_set_transient_for(GTK_WINDOW(checkbuttondialog), transient_parent); gtk_window_set_title(GTK_WINDOW(checkbuttondialog), title.c_str()); //gtk_window_set_position(GTK_WINDOW(checkbuttondialog), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_modal(GTK_WINDOW(checkbuttondialog), TRUE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG(checkbuttondialog)); gtk_widget_show(dialog_vbox1); label = gtk_label_new(info.c_str()); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(dialog_vbox1), label, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); for (unsigned int i = 0; i < labels.size(); i++) { GtkWidget *checkbutton; checkbutton = gtk_check_button_new_with_mnemonic(labels[i].c_str()); gtk_widget_show(checkbutton); gtk_box_pack_start(GTK_BOX(dialog_vbox1), checkbutton, FALSE, FALSE, 0); checkbuttons.push_back(checkbutton); shortcuts.button(checkbutton); if (bitpattern_take(bitpattern)) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton), true); } } dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG(checkbuttondialog)); gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); new InDialogHelp(checkbuttondialog, NULL, &shortcuts, NULL); cancelbutton = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton); gtk_dialog_add_action_widget(GTK_DIALOG(checkbuttondialog), cancelbutton, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default (GTK_WIDGET (cancelbutton), true); okbutton = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton); gtk_dialog_add_action_widget(GTK_DIALOG(checkbuttondialog), okbutton, GTK_RESPONSE_OK); gtk_widget_set_can_default (GTK_WIDGET (okbutton), true); shortcuts.stockbutton(cancelbutton); shortcuts.stockbutton(okbutton); shortcuts.process(); g_signal_connect((gpointer) okbutton, "clicked", G_CALLBACK(on_okbutton_clicked), gpointer(this)); gtk_widget_grab_default(okbutton); gtk_widget_grab_focus(okbutton); }