MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QWidget *main = new QWidget; setCentralWidget(main); QVBoxLayout *main_layout = new QVBoxLayout; main->setLayout(main_layout); QHBoxLayout *btn_layout = new QHBoxLayout; main_layout->addLayout(btn_layout); QPushButton *load = new QPushButton; load->setText("&Load"); connect(load, SIGNAL(clicked()), this, SLOT(on_load())); btn_layout->addWidget(load); QPushButton *save = new QPushButton; save->setText("&Save"); connect(save, SIGNAL(clicked()), this, SLOT(on_save())); btn_layout->addWidget(save); text = new QTextEdit; text->setText("Type some text here"); main_layout->addWidget(text); }
gboolean SludgeApplication::reallyClose() { if (fileChanged) { GtkWidget *dialog; gint response; dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "Save the changes to '%s' before closing?", currentShortname); gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Don't Save", GTK_RESPONSE_REJECT, "Cancel", GTK_RESPONSE_CANCEL, "Save", GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_title(GTK_WINDOW(dialog), "There are unsaved changes."); response = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (response == GTK_RESPONSE_CANCEL || response == GTK_RESPONSE_NONE) { return FALSE; } if (response == GTK_RESPONSE_ACCEPT) { on_save(); } } return TRUE; }
static void on_buttons_update(GtkWidget* selection, gpointer button, gpointer data) { gboolean active; gboolean valid; int nsel; erGtkSelectionGroup *widget; gboolean toDeactive = TRUE; CN_LOGPRINTF("entry"); active = gtk_toggle_button_get_active(button); valid = edit_overview_check_network_settings(); if (active && valid) { widget = ERGTK_SELECTION_GROUP(g_buttons->details->selection); ergtk_selection_group_get_selected_buttons(widget, &nsel, 1); switch (nsel) { case 0: // test button is selected on_test(); toDeactive = FALSE; break; case 1: // save button is selected on_save(); toDeactive = FALSE; break; case 2: // save&connect button is selected on_saveconnect(); toDeactive = FALSE; break; default: break; } } if (active && toDeactive) { g_timeout_add(500, delayed_deactive_button, button); } }
bool http_download::save(http_request* req) { // 开始接收服务端的 HTTP 数据体 char buf[8192]; int ret; while (true) { ret = req->get_body(buf, sizeof(buf)); if (ret <= 0) break; if (on_save(buf, ret) == false) { logger_error("on_save error, url: %s", url_); return false; } } return true; }
FileBar::FileBar(SigSession &session, QWidget *parent) : QToolBar("File Bar", parent), _enable(true), _session(session), _file_button(this) { setMovable(false); _action_load = new QAction(this); _action_load->setText(QApplication::translate( "File", "&Load...", 0)); _action_load->setIcon(QIcon::fromTheme("file", QIcon(":/icons/open.png"))); _action_load->setObjectName(QString::fromUtf8("actionLoad")); connect(_action_load, SIGNAL(triggered()), this, SLOT(on_actionLoad_triggered())); _action_store = new QAction(this); _action_store->setText(QApplication::translate( "File", "S&tore...", 0)); _action_store->setIcon(QIcon::fromTheme("file", QIcon(":/icons/save.png"))); _action_store->setObjectName(QString::fromUtf8("actionStore")); connect(_action_store, SIGNAL(triggered()), this, SLOT(on_actionStore_triggered())); _action_default = new QAction(this); _action_default->setText(QApplication::translate( "File", "&Default...", 0)); _action_default->setIcon(QIcon::fromTheme("file", QIcon(":/icons/gear.png"))); _action_default->setObjectName(QString::fromUtf8("actionDefault")); connect(_action_default, SIGNAL(triggered()), this, SLOT(on_actionDefault_triggered())); _menu_session = new QMenu(tr("Settings"), parent); _menu_session->setIcon(QIcon::fromTheme("file", QIcon(":/icons/gear.png"))); _menu_session->setObjectName(QString::fromUtf8("menuSession")); _menu_session->addAction(_action_load); _menu_session->addAction(_action_store); _menu_session->addAction(_action_default); _action_open = new QAction(this); _action_open->setText(QApplication::translate( "File", "&Open...", 0)); _action_open->setIcon(QIcon::fromTheme("file", QIcon(":/icons/open.png"))); _action_open->setObjectName(QString::fromUtf8("actionOpen")); connect(_action_open, SIGNAL(triggered()), this, SLOT(on_actionOpen_triggered())); _action_save = new QAction(this); _action_save->setText(QApplication::translate( "File", "&Save...", 0)); _action_save->setIcon(QIcon::fromTheme("file", QIcon(":/icons/save.png"))); _action_save->setObjectName(QString::fromUtf8("actionSave")); connect(_action_save, SIGNAL(triggered()), this, SIGNAL(on_save())); _action_export = new QAction(this); _action_export->setText(QApplication::translate("File", "&Export...", 0)); _action_export->setIcon(QIcon::fromTheme("file",QIcon(":/icons/export.png"))); _action_export->setObjectName(QString::fromUtf8("actionExport")); connect(_action_export, SIGNAL(triggered()), this, SIGNAL(on_export())); _action_capture = new QAction(this); _action_capture->setText(QApplication::translate( "File", "&Capture...", 0)); _action_capture->setIcon(QIcon::fromTheme("file", QIcon(":/icons/capture.png"))); _action_capture->setObjectName(QString::fromUtf8("actionCapture")); connect(_action_capture, SIGNAL(triggered()), this, SLOT(on_actionCapture_triggered())); _file_button.setPopupMode(QToolButton::InstantPopup); _file_button.setIcon(QIcon(":/icons/file.png")); _menu = new QMenu(this); _menu->addMenu(_menu_session); _menu->addAction(_action_open); _menu->addAction(_action_save); _menu->addAction(_action_export); _menu->addAction(_action_capture); _file_button.setMenu(_menu); addWidget(&_file_button); }
CWindowMain::CWindowMain(QWidget *parent) : QMainWindow(parent), m_executThread(NULL) { m_widgetBFGenerate = new CWidgetBFGenerate(this); m_widgetBFList = new CWidgetBFList(this); m_widgetBFView = new CWidgetBFView(this); m_widgetConsol = new CWidgetConsol(this); m_widgetConsol->setVisible(false); m_widgetPanelMode = new CWidgetPanelMode(this); m_widgetTreeSat = new CWidgetTreeSat(this); QWidget *wBFViewBFGenerate = new QWidget(); QVBoxLayout *boxBFViewBFGenerate = new QVBoxLayout(); boxBFViewBFGenerate->addWidget(m_widgetBFGenerate); boxBFViewBFGenerate->addWidget(m_widgetBFView); boxBFViewBFGenerate->setMargin(0); boxBFViewBFGenerate->setSpacing(0); boxBFViewBFGenerate->setStretch(1,100); wBFViewBFGenerate->setLayout(boxBFViewBFGenerate); QSplitter *spListBFTreeAlg = new QSplitter(Qt::Vertical); spListBFTreeAlg->addWidget(m_widgetBFList); spListBFTreeAlg->addWidget(m_widgetTreeSat); QSplitter *spTreeView = new QSplitter(Qt::Horizontal); spTreeView->addWidget(spListBFTreeAlg); spTreeView->addWidget(wBFViewBFGenerate); spTreeView->setStretchFactor(1,100); QSplitter *spMain = new QSplitter(Qt::Vertical); spMain->addWidget(spTreeView); spMain->addWidget(m_widgetConsol); spMain->setStretchFactor(0,100); QWidget *widgetCenter = new QWidget(this); setCentralWidget(widgetCenter); QHBoxLayout *hbox = new QHBoxLayout(); centralWidget()->setLayout(hbox); hbox->addWidget(m_widgetPanelMode); hbox->addWidget(spMain); hbox->setMargin(0); hbox->setSpacing(0); hbox->setStretch(1,100); m_actOpen = new QAction(QIcon(":/ico/main_open.png"),tr("&Открыть"),this); m_actOpen->setShortcut(QKeySequence::Open); connect(m_actOpen,SIGNAL(triggered()),this,SLOT(on_open())); m_actSave = new QAction(QIcon(":/ico/main_save.png"),tr("&Сохранить"),this); m_actSave->setShortcut(QKeySequence::Save); connect(m_actSave,SIGNAL(triggered()),this,SLOT(on_save())); m_actSaveAs = new QAction(QIcon(":/ico/main_save_as.png"),tr("&Сохранить как"),this); m_actSaveAs->setShortcut(QKeySequence::SaveAs); connect(m_actSaveAs,SIGNAL(triggered()),this,SLOT(on_save_as())); m_actQuit = new QAction(QIcon("://ico/main_quit.png"),tr("Выйти"),this); m_actQuit->setShortcut(QKeySequence::Close); m_actQuit->setStatusTip(tr("Выйти из приложения")); connect(m_actQuit, SIGNAL(triggered()), this, SLOT(close())); mainMenu = menuBar()->addMenu(tr("Файл")); mainMenu->addAction(m_actOpen); mainMenu->addAction(m_actSave); mainMenu->addAction(m_actSaveAs); mainMenu->addSeparator(); mainMenu->addAction(m_actQuit); mainMenu = menuBar()->addMenu(tr("Вид")); mainMenu->addAction(m_widgetBFGenerate->actVisible()); mainMenu->addAction(m_widgetConsol->actVisible()); // m_widgetPanelMode connect(m_widgetPanelMode,SIGNAL(run()), m_widgetTreeSat,SLOT(on_runChecked())); connect(m_widgetPanelMode,SIGNAL(run()), m_widgetBFGenerate,SLOT(on_resetTriggered())); connect(m_widgetPanelMode,SIGNAL(runLog()), m_widgetTreeSat,SLOT(on_runLogChecked())); connect(m_widgetPanelMode,SIGNAL(runLog()), m_widgetBFGenerate,SLOT(on_resetTriggered())); connect(m_widgetPanelMode,SIGNAL(terminate()), this,SIGNAL(terminated())); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetBFList,SLOT(setVisible(bool))); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetBFList,SLOT(on_disabledHide(bool))); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetBFGenerate,SLOT(setVisible(bool))); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetBFGenerate->actVisible(),SLOT(setChecked(bool))); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetBFGenerate->actVisible(),SLOT(setEnabled(bool))); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetTreeSat,SLOT(setVisible(bool))); connect(m_widgetPanelMode,SIGNAL(toggledRand(bool)), m_widgetTreeSat,SLOT(on_disabledHide(bool))); // m_widgetBFView connect(m_widgetBFView,SIGNAL(message(QString)), this,SIGNAL(messageAppend(QString))); connect(m_widgetBFView,SIGNAL(getLogSelectSat(bool)), m_widgetTreeSat,SLOT(on_returnLogSelectSat(bool))); // m_widgetBFList connect(m_widgetBFList,SIGNAL(generate()), m_widgetBFGenerate,SLOT(on_generate())); connect(m_widgetBFList,SIGNAL(selected(QString,CBoolFormula*)), m_widgetBFGenerate,SLOT(on_set(QString,CBoolFormula*))); connect(m_widgetBFList,SIGNAL(selected(QString,CBoolFormula*)), m_widgetTreeSat,SLOT(on_set(QString,CBoolFormula*))); connect(m_widgetBFList,SIGNAL(selected(QString,CBoolFormula*)), m_widgetBFView,SLOT(on_set(QString,CBoolFormula*))); connect(m_widgetBFList,SIGNAL(message(QString)), this,SIGNAL(messageAppend(QString))); // m_widgetBFGenerate connect(m_widgetBFGenerate,SIGNAL(append(QString,CBoolFormula*)), m_widgetBFList,SIGNAL(appendgen(QString,CBoolFormula*))); connect(m_widgetBFGenerate,SIGNAL(append(QString,CBoolFormula*)), m_widgetPanelMode,SLOT(on_resetTriggered())); connect(m_widgetBFGenerate,SIGNAL(execut(QList<CExecutObject*>)), this,SLOT(on_execut(QList<CExecutObject*>))); connect(m_widgetBFGenerate,SIGNAL(replace(QString,CBoolFormula*)), m_widgetBFList,SIGNAL(replace(QString,CBoolFormula*))); connect(m_widgetBFGenerate,SIGNAL(replace(QString,CBoolFormula*)), m_widgetPanelMode,SLOT(on_resetTriggered())); connect(m_widgetBFGenerate,SIGNAL(remove(QString)), m_widgetBFList,SIGNAL(remove(QString))); connect(m_widgetBFGenerate,SIGNAL(terminated()), this,SIGNAL(terminated())); // m_widgetTreeSat connect(m_widgetTreeSat,SIGNAL(execut(QList<CExecutObject*>)), this,SLOT(on_execut(QList<CExecutObject*>))); connect(m_widgetTreeSat,SIGNAL(logSelectSat(QString)), m_widgetBFView,SIGNAL(setText(QString))); // main connect(this,SIGNAL(messageAppend(QString)), m_widgetConsol,SLOT(messageAppend(QString))); connect(this,SIGNAL(messageSet(QString)), m_widgetConsol,SLOT(messageSet(QString))); connect(this,SIGNAL(executingOperation(QString)), m_widgetConsol,SLOT(executingOperation(QString))); connect(this,SIGNAL(append(QString,CBoolFormula*)), m_widgetBFList,SIGNAL(append(QString,CBoolFormula*))); connect(this,SIGNAL(locked()),m_widgetPanelMode,SLOT(on_locked())); connect(this,SIGNAL(unlocked()),m_widgetPanelMode,SLOT(on_unlocked())); connect(this,SIGNAL(locked()),m_widgetBFGenerate,SLOT(on_locked())); connect(this,SIGNAL(unlocked()),m_widgetBFGenerate,SLOT(on_unlocked())); connect(this,SIGNAL(updateView()),m_widgetBFView,SLOT(on_viewUpdate())); m_widgetPanelMode->on_checkedRand(); // set checked Random bool formula state for start application }
ProviderDialog::ProviderDialog(MainObject *mOb, QDialog *parent) : QDialog(parent) { mainObject = mOb; //provider = prov; //setFixedWidth(300); setWindowIcon(QIcon(":/icons/provider")); setWindowTitle("Provider"); QVBoxLayout *mainOuterLayout = new QVBoxLayout(); this->setLayout(mainOuterLayout); mainOuterLayout->setContentsMargins(0,0,0,0); mainOuterLayout->setSpacing(0); //** Header Label headerLabel = new QLabel(); headerLabel->setText("-- provider --"); headerLabel->setStyleSheet("font-size: 20pt; background-color: white; color: green;"); mainOuterLayout->addWidget(headerLabel); QVBoxLayout *mainLayout = new QVBoxLayout(); mainOuterLayout->addLayout(mainLayout); mainLayout->setContentsMargins(20,20,20,20); mainLayout->setSpacing(10); //QString styleGrp = QString("QGroupBox{ border:2px solid gray;border-radius:5px; margin-top: 1ex;} QGroupBox::title{subcontrol-origin: margin;subcontrol-position:top left;padding:0px 3px;}"); QString styleGrp = QString("QGroupBox{ border:1px solid gray; margin-top: 2ex;} QGroupBox::title{subcontrol-origin: margin;subcontrol-position:top left;padding:0px 3px;}"); //*************************************************** //** Browse Button Group QGroupBox *grpBrowse = new QGroupBox(); grpBrowse->setTitle("Open in web browser.."); grpBrowse->setStyleSheet(styleGrp); mainLayout->addWidget(grpBrowse); QHBoxLayout *grpBrowseLayout = new QHBoxLayout(); grpBrowseLayout->setContentsMargins(10,10,10,10); grpBrowse->setLayout(grpBrowseLayout); //** Browser Buttons QButtonGroup *buttonGroupBrowse = new QButtonGroup(this); connect(buttonGroupBrowse, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(on_browse_button(QAbstractButton*)) ); buttHomePage = new QPushButton(); buttHomePage->setText("Home page"); grpBrowseLayout->addWidget(buttHomePage); buttonGroupBrowse->addButton(buttHomePage); buttPrices = new QPushButton(); buttPrices->setText("Prices"); grpBrowseLayout->addWidget(buttPrices); buttonGroupBrowse->addButton(buttPrices); buttSignUp = new QPushButton(); buttSignUp->setText("Sign Up"); grpBrowseLayout->addWidget(buttSignUp); buttonGroupBrowse->addButton(buttSignUp); buttLogin = new QPushButton(); buttLogin->setText("Login"); grpBrowseLayout->addWidget(buttLogin); buttonGroupBrowse->addButton(buttLogin); mainLayout->addSpacing(20); //************************************************************* //** Credentials grpCredentials = new QGroupBox(); grpCredentials->setTitle("Account Details"); grpCredentials->setCheckable(true); grpCredentials->setStyleSheet(styleGrp); mainLayout->addWidget(grpCredentials); connect(grpCredentials, SIGNAL(clicked(bool)), this, SLOT(on_credentials_checkbox(bool))); QGridLayout *credLayout = new QGridLayout(); credLayout->setContentsMargins(10,20,10,10); grpCredentials->setLayout(credLayout); int row =0; QLabel *lblUsername = new QLabel("Username"); credLayout->addWidget( lblUsername, row, 0 ); txtUsername = new QLineEdit(); credLayout->addWidget(txtUsername, ++row, 0, 1, 1); QLabel *lblPassword = new QLabel("Password"); credLayout->addWidget( lblPassword, ++row, 0, 1, 1 ); txtPass = new QLineEdit(); credLayout->addWidget(txtPass, ++row, 0, 1, 1); //credLayout->addSpacing(10); QLabel *lblEmail = new QLabel("Email"); credLayout->addWidget( lblEmail, ++row, 0 ); txtEmail = new QLineEdit(); credLayout->addWidget(txtEmail, ++row, 0, 1, 2); credLayout->setColumnStretch(0,1); credLayout->setColumnStretch(1,1); mainLayout->addSpacing(20); //************************************************** //** Buttons QHBoxLayout *buttonBox = new QHBoxLayout(); mainLayout->addLayout(buttonBox); buttonBox->addStretch(10); QPushButton *cancelButton = new QPushButton(); cancelButton->setText("Cancel"); cancelButton->setIcon(QIcon(":/icons/black")); buttonBox->addWidget(cancelButton); connect(cancelButton, SIGNAL(clicked()), this, SLOT(on_cancel())); QPushButton *saveButton = new QPushButton(); saveButton->setText("Save"); saveButton->setIcon(QIcon(":/icons/ok")); buttonBox->addWidget(saveButton); connect(saveButton, SIGNAL(clicked()), this, SLOT(on_save())); statusBar = new XStatusBar(); mainOuterLayout->addWidget(statusBar); statusBar->showMessage("Loaded", 2000); }