JoystickListWidget::JoystickListWidget() : Gtk::Dialog("Joystick Preferences"), label("Below is a list of available joysticks on the system. Press Refresh to " "update the list, press Properties to get a separate device dialog. The " "devices listed are only joystick devices, not evdev devices or SDL " "devices, you can view the other ones via the top tab.") //frame("Device List"), { set_has_separator(false); set_default_size(450, 310); label.set_line_wrap(); scrolled.set_border_width(5); scrolled.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_ALWAYS); scrolled.add(treeview); get_vbox()->add(scrolled); add_button(Gtk::Stock::REFRESH, 2); add_button(Gtk::Stock::PROPERTIES, 1); add_button(Gtk::Stock::CLOSE, 0); signal_response().connect(sigc::mem_fun(this, &JoystickListWidget::on_response)); // Set model device_list = Gtk::ListStore::create(DeviceListColumns::instance()); treeview.set_model(device_list); treeview.set_headers_visible(false); treeview.append_column("Icon", DeviceListColumns::instance().icon); treeview.append_column("Name", DeviceListColumns::instance().name); treeview.signal_row_activated().connect(sigc::mem_fun(this, &JoystickListWidget::on_row_activated)); on_refresh(); }
void SpinnerDialog::configure(const Glib::ustring & title, const Glib::ustring & text) throw() { set_title(title); set_border_width(12); set_default_size(408, 108); set_has_separator(false); Gtk::VBox * const dialog_vbox = get_vbox(); dialog_vbox->set_spacing(18); dialog_vbox->pack_start(hBox_, Gtk::PACK_EXPAND_WIDGET, 0); spinner_.set_size(Gtk::ICON_SIZE_DIALOG); hBox_.pack_start(spinner_, Gtk::PACK_SHRINK, 0); primaryLabel_.set_markup(text); primaryLabel_.set_use_markup(true); hBox_.pack_start(primaryLabel_, Gtk::PACK_EXPAND_WIDGET, 0); add_button(Gtk::Stock::CLOSE, Gtk::RESPONSE_CLOSE); set_default_response(Gtk::RESPONSE_CLOSE); show_all_children(); }
pinDialogPriv(pinDialog &,const void *opsysParam) : Gtk::Dialog("inputDialog",true), m_label("pin entry") { m_textInput.set_activates_default(true); get_vbox()->pack_start(m_label); m_label.set_alignment(0.1,0.5); get_vbox()->pack_start(m_textInput); m_textInput.set_visibility(false); set_has_separator(true); add_button(Gtk::Stock::OK,Gtk::RESPONSE_OK); add_button(Gtk::Stock::CANCEL ,Gtk::RESPONSE_CANCEL); set_default_response(Gtk::RESPONSE_CANCEL); show_all_children(); }
ProgressDialog::ProgressDialog(std::string const &title, Gtk::Window &parent) : Gtk::Dialog(title, parent, true), m_cancel(false), mp_progress_bar(Gtk::manage(new Gtk::ProgressBar())) { set_resizable(false); set_has_separator(false); get_vbox()->set_border_width(Layout::BORDER_WIDTH); get_vbox()->pack_start(*mp_progress_bar, Gtk::PACK_SHRINK); Gtk::Button * const p_cancel_button = Gtk::manage(new Gtk::Button(Gtk::Stock::CANCEL)); add_action_widget(*p_cancel_button, Gtk::RESPONSE_CANCEL); p_cancel_button->signal_clicked().connect( sigc::mem_fun(*this, &ProgressDialog::cancel_button_clicked)); show_all_children(); }
JoystickCalibrationWidget::JoystickCalibrationWidget(Joystick& joystick) : Gtk::Dialog("Calibration: " + joystick.get_name()), joystick(joystick), label("The <i>center</i> values are the minimum and the maximum values of the deadzone. " "The <i>min</i> and <i>max</i> values refer to the outer values. You have to unplug " "your joystick or reboot to reset the values to their original default.\n" "\n" "To run the calibration wizard, press the <i>Calibrate</i> button."), axis_frame("Axes"), axis_table(joystick.get_axis_count() + 1, 5), buttonbox(Gtk::BUTTONBOX_SPREAD), calibration_button("Start Calibration") { set_has_separator(false); set_border_width(5); axis_frame.set_border_width(5); axis_table.set_border_width(5); label.set_use_markup(true); label.set_line_wrap(); get_vbox()->pack_start(label, Gtk::PACK_SHRINK); calibration_button.signal_clicked().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_calibrate)); buttonbox.set_border_width(5); buttonbox.add(calibration_button); get_vbox()->pack_start(buttonbox, Gtk::PACK_SHRINK); axis_table.attach(*Gtk::manage(new Gtk::Label("Axes")), 0, 1, 0, 1); axis_table.attach(*Gtk::manage(new Gtk::Label("CenterMin")), 1, 2, 0, 1); axis_table.attach(*Gtk::manage(new Gtk::Label("CenterMax")), 2, 3, 0, 1); axis_table.attach(*Gtk::manage(new Gtk::Label("RangeMin")), 3, 4, 0, 1); axis_table.attach(*Gtk::manage(new Gtk::Label("RangeMax")), 4, 5, 0, 1); axis_table.attach(*Gtk::manage(new Gtk::Label("Invert")), 5, 6, 0, 1); axis_table.set_col_spacing(2, 8); for(int i = 0; i < joystick.get_axis_count(); ++i) { CalibrationData data; Gtk::SpinButton& center_min = *Gtk::manage(new Gtk::SpinButton(*Gtk::manage(data.center_min = new Gtk::Adjustment(0, -32768, 32767)))); Gtk::SpinButton& center_max = *Gtk::manage(new Gtk::SpinButton(*Gtk::manage(data.center_max = new Gtk::Adjustment(0, -32768, 32767)))); Gtk::SpinButton& range_min = *Gtk::manage(new Gtk::SpinButton(*Gtk::manage(data.range_min = new Gtk::Adjustment(0, -32768, 32767)))); Gtk::SpinButton& range_max = *Gtk::manage(new Gtk::SpinButton(*Gtk::manage(data.range_max = new Gtk::Adjustment(0, -32768, 32767)))); Gtk::CheckButton& invert = *(data.invert = Gtk::manage(new Gtk::CheckButton())); center_min.signal_value_changed().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_apply)); center_max.signal_value_changed().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_apply)); range_min.signal_value_changed().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_apply)); range_max.signal_value_changed().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_apply)); invert.signal_clicked().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_apply)); center_min.set_tooltip_text("The minimal value of the dead zone"); center_max.set_tooltip_text("The maximum value of the dead zone"); range_min.set_tooltip_text("The minimal position reachable"); range_max.set_tooltip_text("The maximum position reachable"); calibration_data.push_back(data); std::ostringstream str; str << i; axis_table.attach(*Gtk::manage(new Gtk::Label(str.str())), 0, 1, i+1, i+2); axis_table.attach(center_min, 1, 2, i+1, i+2); axis_table.attach(center_max, 2, 3, i+1, i+2); axis_table.attach(range_min, 3, 4, i+1, i+2); axis_table.attach(range_max, 4, 5, i+1, i+2); axis_table.attach(invert, 5, 6, i+1, i+2, Gtk::SHRINK, Gtk::SHRINK); } add_button(Gtk::Stock::REVERT_TO_SAVED, 2); add_button("Raw Events", 1); add_button(Gtk::Stock::CLOSE, 0); axis_frame.add(axis_table); get_vbox()->pack_start(axis_frame, Gtk::PACK_EXPAND_WIDGET); signal_response().connect(sigc::mem_fun(this, &JoystickCalibrationWidget::on_response)); update_with(joystick.get_calibration()); }
void file_chooser::common_ctor_logic_() { do_overwrite_confirmation_ = true; single_image_mode_ = false; if (!column) column = new model_columns; Glib::RefPtr< Gtk::ListStore > types; types = Gtk::ListStore::create (*column); { Gtk::TreeModel::Row r; extension_list l; r = *(types->append ()); r[column->text] = _("By extension"); r[column->exts] = l; r = *(types->append ()); r[column->text] = _("JPEG"); #if __cplusplus >= 201103L l = {".jpeg", ".jpg"}; #else l = list_of (".jpeg")(".jpg"); #endif r[column->exts] = l; r = *(types->append ()); r[column->text] = _("PDF"); #if __cplusplus >= 201103L l = {".pdf"}; #else l = list_of (".pdf"); #endif r[column->exts] = l; r = *(types->append ()); r[column->text] = _("PNG"); #if __cplusplus >= 201103L l = {".png"}; #else l = list_of (".png"); #endif r[column->exts] = l; r = *(types->append ()); r[column->text] = _("PNM"); #if __cplusplus >= 201103L l = {".pnm"}; #else l = list_of (".pnm"); #endif r[column->exts] = l; r = *(types->append ()); r[column->text] = _("TIFF"); #if __cplusplus >= 201103L l = {".tiff", ".tif"}; #else l = list_of (".tiff")(".tif"); #endif r[column->exts] = l; } file_type_.set_model (types); file_type_.set_headers_visible (false); file_type_.append_column ("", column->text); file_type_.set_rules_hint (); file_type_.get_selection ()->signal_changed () .connect (sigc::mem_fun (*this, &file_chooser::on_file_type_changed)); expander_.set_label (_("File Type")); expander_.add (file_type_); single_file_.set_label (_("Save all images in a single file")); single_file_.signal_toggled () .connect (sigc::mem_fun (*this, &file_chooser::on_single_file_toggled)); Gtk::VBox *extras (Gtk::manage (new Gtk::VBox)); extras->pack_start (expander_); extras->pack_start (single_file_); // Set up the dialog, using layout values from Gtk::FileChooserDialog set_has_separator (false); set_border_width (5); get_action_area ()->set_border_width (5); Gtk::Box *content_area = get_vbox (); content_area->set_spacing (2); content_area->pack_start (impl_ , Gtk::PACK_EXPAND_WIDGET); content_area->pack_start (*extras, Gtk::PACK_SHRINK); content_area->show_all (); { // FIXME determine the default width and height in a way similar // to how Gtk::FileChooserDialog does. Its implementation // uses an internal function which takes font information // and numbers of characters and lines into account. // See file_chooser_widget_default_size_changed() int width = 800, height = 600; set_default_size (width, height); } add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); add_button (Gtk::Stock::OK , Gtk::RESPONSE_ACCEPT); // FIXME leave this to the "application" or tie it to file_type_ { Gtk::FileFilter filter; filter.add_mime_type ("application/pdf"); filter.add_mime_type ("image/*"); filter.set_name (_("PDFs and Image Files")); add_filter (filter); } { Gtk::FileFilter filter; filter.add_mime_type ("image/*"); filter.set_name (_("Image Files")); add_filter (filter); } { Gtk::FileFilter filter; filter.add_pattern ("*"); filter.set_name (_("All Files")); add_filter (filter); } gui_name_change_dispatch_ .connect (sigc::mem_fun (*this, &file_chooser::signal_name_change_)); signal_name_change () .connect (sigc::mem_fun (*this, &file_chooser::on_name_change_)); cancel_watch_ = false; watch_thread_ = new thread (&file_chooser::watch_, this); }
ShortcutDialog::ShortcutDialog(int _number_tree, bool _lock_name) { Icons::set_window_icon(this, ICO_ROOT_PERSONNAL, 15) ; table = NULL ; number_tree = _number_tree ; set_has_separator(false) ; set_title(_("Choose target shortcut")) ; //set_default_size(DIALOG_W, DIALOG_H) ; button_chooser = new Gtk::FileChooserButton(_("Configure shortcut"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ; Gtk::VBox* vbox = get_vbox() ; table = new Gtk::Table(2, 3, false) ; table->set_col_spacings(15) ; //vbox->pack_start((*file_chooser), true,true) ; vbox->pack_start(BLANK1, false,false) ; vbox->pack_start(table_align, false, false) ; table_align.add(*table) ; table_align.set(Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER, 0, 0) ; //line 1 table->attach(path_align, 0, 1, 0, 1, Gtk::FILL, Gtk::SHRINK , 0, 0) ; table->attach(path_entry, 1, 2, 0, 1, Gtk::FILL, Gtk::SHRINK , 0, 0) ; table->attach(*button_chooser, 2, 3, 0, 1, Gtk::FILL, Gtk::SHRINK , 0, 0) ; path_align.add(path_label) ; path_align.set(Gtk::ALIGN_LEFT, Gtk::ALIGN_LEFT, 0, 0) ; //line2 table->attach(display_align, 0, 1, 1, 2, Gtk::FILL, Gtk::SHRINK , 0, 0) ; table->attach(display_entry, 1, 2, 1, 2, Gtk::FILL, Gtk::SHRINK , 0, 0) ; display_align.add(display_label) ; display_align.set(Gtk::ALIGN_LEFT, Gtk::ALIGN_LEFT, 0, 0) ; validate = new Gtk::Button(Gtk::Stock::OK) ; cancel = new Gtk::Button(Gtk::Stock::CANCEL) ; vbox->pack_start(BLANK2, false,false) ; vbox->pack_start(separ, false,false) ; vbox->pack_start(buttons_align, false, false) ; buttons_align.set(Gtk::ALIGN_RIGHT, Gtk::ALIGN_RIGHT, 0, 0) ; buttons_align.add(buttons_box) ; buttons_box.pack_start(*validate, false, false) ; buttons_box.pack_start(*cancel, false, false) ; BLANK1.set_label(" "); BLANK2.set_label(" "); path_label.set_label(_("Target path ")) ; display_label.set_label(_("Shortcut name ")) ; path_label.set_name("bold_label") ; display_label.set_name("bold_label") ; vbox->show_all_children(true) ; button_chooser->signal_selection_changed().connect( sigc::mem_fun(*this, &ShortcutDialog::on_selection_changed) ) ; validate->signal_clicked().connect( sigc::mem_fun(*this, &ShortcutDialog::on_validate) ) ; cancel->signal_clicked().connect( sigc::mem_fun(*this, &ShortcutDialog::on_cancel) ) ; path_entry.signal_changed().connect( sigc::mem_fun(*this, &ShortcutDialog::on_path_entry_signal_changed) ) ; lock_name = _lock_name ; if (lock_name) display_entry.set_sensitive(false) ; }
preferencesDialog::preferencesDialog(int const _min_port, int const _max_port) : portrange_begin(0), beginPortRangeSpinbuttonAdj(0), portrange_end(0), endPortRangeSpinbuttonAdj(0), workPathEntry(0), outputPathEntry(0), leechModeCheckbutton(0), min_port(_max_port), max_port(_min_port), workPath(), outputPath(), leechmode(false), portrange_begin_intial_value(0), portrange_end_intial_value(0), workPath_initial_value(""), outputPath_initial_value(""), leechmode_initial_value(false), portrange_begin_signal(), portrange_end_signal(), save_btn_pressed(false) { Gtk::Label* workLabel = Gtk::manage(new class Gtk::Label("Working directory")); Gtk::Label* outputLabel = Gtk::manage(new class Gtk::Label("Output directory")); Gtk::Label* portRangeLabel = Gtk::manage(new class Gtk::Label("Port range")); Gtk::Label* leechModeLabel = Gtk::manage(new class Gtk::Label("Leech mode")); outputPathEntry = Gtk::manage(new class Gtk::Entry()); workPathEntry = Gtk::manage(new class Gtk::Entry()); leechModeCheckbutton = Gtk::manage(new class Gtk::CheckButton("enabled")); Gtk::Table* settingsTable = Gtk::manage(new class Gtk::Table(2, 2, false)); // Ports: Gtk::Table* portTable = Gtk::manage(new class Gtk::Table(2, 2, false));; Gtk::Label* beginPortLabel = Gtk::manage(new class Gtk::Label("Begin Port")); Gtk::Label* endPortLabel = Gtk::manage(new class Gtk::Label("End Port")); beginPortRangeSpinbuttonAdj = Gtk::manage(new class Gtk::Adjustment(_min_port, _min_port, _max_port, 1, 100, 10)); portrange_begin = Gtk::manage(new class Gtk::SpinButton(*beginPortRangeSpinbuttonAdj, 1, 0)); endPortRangeSpinbuttonAdj = Gtk::manage(new class Gtk::Adjustment(_min_port, _min_port, _max_port, 1, 100, 10)); portrange_end = Gtk::manage(new class Gtk::SpinButton(*endPortRangeSpinbuttonAdj, 1, 0)); beginPortLabel->set_alignment(0,0.5); beginPortLabel->set_padding(5,5); beginPortLabel->set_justify(Gtk::JUSTIFY_LEFT); beginPortLabel->set_line_wrap(false); beginPortLabel->set_use_markup(false); beginPortLabel->set_selectable(false); endPortLabel->set_alignment(0,0.5); endPortLabel->set_padding(5,5); endPortLabel->set_justify(Gtk::JUSTIFY_LEFT); endPortLabel->set_line_wrap(false); endPortLabel->set_use_markup(false); endPortLabel->set_selectable(false); portrange_end->set_flags(Gtk::CAN_FOCUS); portrange_end->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_end->set_numeric(false); portrange_end->set_digits(0); portrange_end->set_wrap(false); portrange_end->set_flags(Gtk::CAN_FOCUS); portrange_end->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_end->set_numeric(true); portrange_end->set_digits(0); portrange_end->set_wrap(false); portrange_begin->set_flags(Gtk::CAN_FOCUS); portrange_begin->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_begin->set_numeric(false); portrange_begin->set_digits(0); portrange_begin->set_wrap(false); portrange_begin->set_flags(Gtk::CAN_FOCUS); portrange_begin->set_update_policy(Gtk::UPDATE_ALWAYS); portrange_begin->set_numeric(true); portrange_begin->set_digits(0); portrange_begin->set_wrap(false); portTable->set_border_width(10); portTable->set_row_spacings(5); portTable->set_col_spacings(5); portTable->attach(*beginPortLabel, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); portTable->attach(*endPortLabel, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); portTable->attach(*portrange_end, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); portTable->attach(*portrange_begin, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); beginPortLabel->show(); endPortLabel->show(); portrange_begin->show(); portrange_end->show(); portTable->show(); Gtk::VBox *preferencesVbox = Gtk::manage(new class Gtk::VBox(false, 10)); outputLabel->set_alignment(0,0.5); outputLabel->set_padding(5,0); outputLabel->set_justify(Gtk::JUSTIFY_LEFT); outputLabel->set_line_wrap(false); outputLabel->set_use_markup(false); outputLabel->set_selectable(false); workLabel->set_alignment(0,0.5); workLabel->set_padding(5,0); workLabel->set_justify(Gtk::JUSTIFY_LEFT); workLabel->set_line_wrap(false); workLabel->set_use_markup(false); workLabel->set_selectable(false); portRangeLabel->set_alignment(0,0.5); portRangeLabel->set_padding(5,0); portRangeLabel->set_justify(Gtk::JUSTIFY_LEFT); portRangeLabel->set_line_wrap(false); portRangeLabel->set_use_markup(false); portRangeLabel->set_selectable(false); leechModeLabel->set_alignment(0,0.5); leechModeLabel->set_padding(5,0); leechModeLabel->set_justify(Gtk::JUSTIFY_LEFT); leechModeLabel->set_line_wrap(false); leechModeLabel->set_use_markup(false); leechModeLabel->set_selectable(false); Gtk::HBox* pathHbox = Gtk::manage(new class Gtk::HBox(false, 10)); Gtk::HBox* workPathHbox = Gtk::manage(new class Gtk::HBox(false, 10)); outputPathEntry->set_flags(Gtk::CAN_FOCUS); outputPathEntry->set_visibility(true); outputPathEntry->set_editable(false); outputPathEntry->set_max_length(0); outputPathEntry->set_text(""); outputPathEntry->set_has_frame(true); outputPathEntry->set_activates_default(false); workPathEntry->set_flags(Gtk::CAN_FOCUS); workPathEntry->set_visibility(true); workPathEntry->set_editable(false); workPathEntry->set_max_length(0); workPathEntry->set_text(""); workPathEntry->set_has_frame(true); workPathEntry->set_activates_default(false); Gtk::Button* pathButton = Gtk::manage(new class Gtk::Button("Change Path")); Gtk::Button* workPathButton = Gtk::manage(new class Gtk::Button("Change Path")); pathHbox->pack_start(*outputPathEntry); pathHbox->pack_start(*pathButton, Gtk::PACK_SHRINK, 0); workPathHbox->pack_start(*workPathEntry); workPathHbox->pack_start(*workPathButton, Gtk::PACK_SHRINK, 0); leechModeCheckbutton->set_flags(Gtk::CAN_FOCUS); leechModeCheckbutton->set_relief(Gtk::RELIEF_NORMAL); leechModeCheckbutton->set_mode(true); leechModeCheckbutton->set_active(false); settingsTable->set_border_width(10); settingsTable->set_row_spacings(20); settingsTable->set_col_spacings(5); // left rigth top bottom /* table1->attach(*label1, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*label2, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*label3, 0, 1, 2, 3, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*label4, 0, 1, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry1, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry2, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry3, 1, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); table1->attach(*entry4, 1, 2, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); */ settingsTable->attach(*workLabel, 0, 1, 0, 1, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*outputLabel, 0, 1, 1, 2, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*portRangeLabel, 0, 1, 2, 3, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*leechModeLabel, 0, 1, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*workPathHbox, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*pathHbox, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::AttachOptions(), 0, 0); settingsTable->attach(*portTable, 1, 2, 2, 3, Gtk::FILL, Gtk::FILL, 0, 0); settingsTable->attach(*leechModeCheckbutton, 1, 2, 3, 4, Gtk::FILL, Gtk::AttachOptions(), 0, 0); preferencesVbox->pack_start(*settingsTable, Gtk::PACK_SHRINK, 0); set_title( GPD->sGUI_CLIENT() + " " + GPD->sFULLVERSION() + " / Preferences" ); set_modal(true); property_window_position().set_value(Gtk::WIN_POS_CENTER); set_resizable(true); property_destroy_with_parent().set_value(false); set_has_separator(true); get_vbox()->pack_start(*preferencesVbox); set_default_size(300, 200); outputLabel->show(); workLabel->show(); portRangeLabel->show(); leechModeLabel->show(); outputPathEntry->show(); pathButton->show(); pathHbox->show(); workPathEntry->show(); workPathButton->show(); workPathHbox->show(); leechModeCheckbutton->show(); settingsTable->show(); preferencesVbox->show(); // Create buttons and connect their signals. add_button("Save", 1); add_button("Cancel", 2); signal_response().connect(sigc::mem_fun(*this, &preferencesDialog::on_dialog_button_pressed)); pathButton->signal_clicked().connect(sigc::mem_fun(*this, &preferencesDialog::on_path_select_button_pressed)); workPathButton->signal_clicked().connect(sigc::mem_fun(*this, &preferencesDialog::on_work_path_select_button_pressed)); get_vbox()->show(); }