diff --git a/src/apps/widget/ruqolaui.rc b/src/apps/widget/ruqolaui.rc index 5e429ef5..45b956ef 100644 --- a/src/apps/widget/ruqolaui.rc +++ b/src/apps/widget/ruqolaui.rc @@ -1,11 +1,13 @@ - + + + &Edit diff --git a/src/widgets/ruqolamainwindow.cpp b/src/widgets/ruqolamainwindow.cpp index 143d15e4..3c41a333 100644 --- a/src/widgets/ruqolamainwindow.cpp +++ b/src/widgets/ruqolamainwindow.cpp @@ -1,69 +1,84 @@ /* Copyright (c) 2020 Laurent Montel This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License or ( at your option ) version 3 or, at the discretion of KDE e.V. ( which shall act as a proxy as in section 14 of the GPLv3 ), any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "ruqola.h" #include "ruqolamainwindow.h" #include "ruqolacentralwidget.h" #include #include #include +#include namespace { static const char myConfigGroupName[] = "RuqolaMainWindow"; } RuqolaMainWindow::RuqolaMainWindow(QWidget *parent) : KXmlGuiWindow(parent) { mMainWidget = new RuqolaCentralWidget(this); mMainWidget->setObjectName(QStringLiteral("mMainWidget")); setCentralWidget(mMainWidget); setupActions(); setupGUI(); readConfig(); } RuqolaMainWindow::~RuqolaMainWindow() { KSharedConfig::Ptr config = KSharedConfig::openConfig(); KConfigGroup group = config->group(myConfigGroupName); group.writeEntry("Size", size()); Ruqola::destroy(); } void RuqolaMainWindow::readConfig() { KSharedConfig::Ptr config = KSharedConfig::openConfig(); KConfigGroup group = KConfigGroup(config, myConfigGroupName); const QSize sizeDialog = group.readEntry("Size", QSize(800, 600)); if (sizeDialog.isValid()) { resize(sizeDialog); } } void RuqolaMainWindow::setupActions() { KActionCollection *ac = actionCollection(); KStandardAction::quit(this, &RuqolaMainWindow::close, ac); - //KStandardAction::preferences(this, &RuqolaMainWindow::slotConfigure, ac); + KStandardAction::preferences(this, &RuqolaMainWindow::slotConfigure, ac); + + QAction *act = new QAction(i18n("Add Account..."), this); + connect(act, &QAction::triggered, this, &RuqolaMainWindow::slotAddAccount); + ac->addAction(QStringLiteral("add_account"), act); +} + +void RuqolaMainWindow::slotConfigure() +{ + //TODO +} + +void RuqolaMainWindow::slotAddAccount() +{ + //TODO } diff --git a/src/widgets/ruqolamainwindow.h b/src/widgets/ruqolamainwindow.h index 270afb91..f8e1937a 100644 --- a/src/widgets/ruqolamainwindow.h +++ b/src/widgets/ruqolamainwindow.h @@ -1,39 +1,41 @@ /* Copyright (c) 2020 Laurent Montel This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License or ( at your option ) version 3 or, at the discretion of KDE e.V. ( which shall act as a proxy as in section 14 of the GPLv3 ), any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef RUQOLAMAINWINDOW_H #define RUQOLAMAINWINDOW_H #include #include "libruqolawidgets_export.h" class RuqolaCentralWidget; class LIBRUQOLAWIDGETS_EXPORT RuqolaMainWindow : public KXmlGuiWindow { Q_OBJECT public: explicit RuqolaMainWindow(QWidget *parent = nullptr); ~RuqolaMainWindow(); private: void setupActions(); void readConfig(); + void slotAddAccount(); + void slotConfigure(); RuqolaCentralWidget *mMainWidget = nullptr; }; #endif // RUQOLAMAINWINDOW_H