diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-17 18:03:29 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-17 18:03:29 +0000 |
| commit | d002b38dddc05e466d3f41580957ede3de209dd4 (patch) | |
| tree | 4936ab7a03883fac46b088e157eb0727032bce2d /examples/GuiClient | |
| parent | f1dfdfa16774170973fcf8688e6769c96671c37c (diff) | |
| download | qxmpp-d002b38dddc05e466d3f41580957ede3de209dd4.tar.gz | |
get rid of pushButton triangle when menu is set
Diffstat (limited to 'examples/GuiClient')
| -rw-r--r-- | examples/GuiClient/mainDialog.cpp | 29 | ||||
| -rw-r--r-- | examples/GuiClient/mainDialog.h | 3 |
2 files changed, 23 insertions, 9 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp index c7e5c7dc..fbf7ae43 100644 --- a/examples/GuiClient/mainDialog.cpp +++ b/examples/GuiClient/mainDialog.cpp @@ -51,7 +51,8 @@ mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window), m_rosterItemSortFilterModel(this), m_vCardCache(&m_xmppClient), m_capabilitiesCache(&m_xmppClient), m_accountsCache(this), m_trayIcon(this), m_trayIconMenu(this), m_quitAction("Quit", this), - m_signOutAction("Sign out", this) + m_signOutAction("Sign out", this), + m_settingsMenu(0) { ui->setupUi(this); createTrayIconAndMenu(); @@ -184,6 +185,11 @@ mainDialog::mainDialog(QWidget *parent): QDialog(parent, Qt::Window), &m_consoleDlg, SLOT(message(QXmppLogger::MessageType, const QString &))); Q_ASSERT(check); + + check = connect(ui->pushButton_settings, + SIGNAL(pressed()), + SLOT(action_settingsPressed())); + Q_ASSERT(check); } void mainDialog::rosterChanged(const QString& bareJid) @@ -662,21 +668,21 @@ void mainDialog::createTrayIconAndMenu() void mainDialog::createSettingsMenu() { - QMenu* settingsMenu = new QMenu(ui->pushButton_settings); - ui->pushButton_settings->setMenu(settingsMenu); + m_settingsMenu = new QMenu(ui->pushButton_settings); +// ui->pushButton_settings->setMenu(m_settingsMenu); QAction* aboutDlg = new QAction("About", ui->pushButton_settings); connect(aboutDlg, SIGNAL(triggered()), SLOT(action_aboutDlg())); - settingsMenu->addAction(aboutDlg); + m_settingsMenu->addAction(aboutDlg); - settingsMenu->addSeparator(); + m_settingsMenu->addSeparator(); QAction* showXml = new QAction("Show XML Console...", ui->pushButton_settings); connect(showXml, SIGNAL(triggered()), SLOT(action_showXml())); - settingsMenu->addAction(showXml); + m_settingsMenu->addAction(showXml); QMenu* viewMenu = new QMenu("View", ui->pushButton_settings); - settingsMenu->addMenu(viewMenu); + m_settingsMenu->addMenu(viewMenu); QAction* showOfflineContacts = new QAction("Show offline contacts", ui->pushButton_settings); showOfflineContacts->setCheckable(true); @@ -692,8 +698,8 @@ void mainDialog::createSettingsMenu() &m_rosterItemSortFilterModel, SLOT(sortByName(bool))); viewMenu->addAction(sortByName); - settingsMenu->addSeparator(); - settingsMenu->addAction(&m_quitAction); + m_settingsMenu->addSeparator(); + m_settingsMenu->addAction(&m_quitAction); } void mainDialog::closeEvent(QCloseEvent *event) @@ -880,3 +886,8 @@ void mainDialog::action_aboutDlg() aboutDialog abtDlg(this); abtDlg.exec(); } + +void mainDialog::action_settingsPressed() +{ + m_settingsMenu->exec(ui->pushButton_settings->mapToGlobal(QPoint(0, ui->pushButton_settings->height()))); +} diff --git a/examples/GuiClient/mainDialog.h b/examples/GuiClient/mainDialog.h index 8453aa1a..0da0b7d2 100644 --- a/examples/GuiClient/mainDialog.h +++ b/examples/GuiClient/mainDialog.h @@ -94,6 +94,7 @@ private slots: void action_showXml(); void action_aboutDlg(); + void action_settingsPressed(); private: void loadAccounts(); @@ -122,6 +123,8 @@ private: QAction m_signOutAction; xmlConsoleDialog m_consoleDlg; + + QMenu* m_settingsMenu; }; #endif // MAINDIALOG_H |
