Added some dialog for new messages.

This commit is contained in:
Martin Rotter 2017-10-24 13:50:27 +02:00
parent 1c9c652d9f
commit fa6039e13f
6 changed files with 139 additions and 3 deletions

View File

@ -334,7 +334,8 @@ HEADERS += src/core/feeddownloader.h \
src/services/tt-rss/ttrssserviceentrypoint.h \
src/services/tt-rss/ttrssserviceroot.h \
src/network-web/httpresponse.h \
src/services/gmail/gui/formdownloadattachment.h
src/services/gmail/gui/formdownloadattachment.h \
src/services/gmail/gui/formaddeditemail.h
SOURCES += src/core/feeddownloader.cpp \
src/core/feedsmodel.cpp \
@ -467,7 +468,8 @@ SOURCES += src/core/feeddownloader.cpp \
src/services/tt-rss/ttrssserviceentrypoint.cpp \
src/services/tt-rss/ttrssserviceroot.cpp \
src/network-web/httpresponse.cpp \
src/services/gmail/gui/formdownloadattachment.cpp
src/services/gmail/gui/formdownloadattachment.cpp \
src/services/gmail/gui/formaddeditemail.cpp
mac {
OBJECTIVE_SOURCES += src/miscellaneous/disablewindowtabbing.mm
@ -499,7 +501,8 @@ FORMS += src/gui/dialogs/formabout.ui \
src/services/standard/gui/formstandardcategorydetails.ui \
src/services/standard/gui/formstandardimportexport.ui \
src/services/tt-rss/gui/formeditttrssaccount.ui \
src/services/gmail/gui/formdownloadattachment.ui
src/services/gmail/gui/formdownloadattachment.ui \
src/services/gmail/gui/formaddeditemail.ui
equals(USE_WEBENGINE, true) {
HEADERS += src/gui/locationlineedit.h \

View File

@ -10,6 +10,7 @@
#include "services/gmail/definitions.h"
#include "services/gmail/gmailentrypoint.h"
#include "services/gmail/gmailfeed.h"
#include "services/gmail/gui/formaddeditemail.h"
#include "services/gmail/gui/formdownloadattachment.h"
#include "services/gmail/gui/formeditgmailaccount.h"
#include "services/gmail/network/gmailnetworkfactory.h"
@ -49,6 +50,10 @@ RootItem* GmailServiceRoot::obtainNewTreeForSyncIn() const {
return root;
}
void GmailServiceRoot::writeNewEmail() {
FormAddEditEmail(this, qApp->mainFormWidget()).execForAdd();
}
void GmailServiceRoot::loadFromDatabase() {
QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings);
Assignment categories = DatabaseQueries::getCategories(database, accountId());
@ -121,6 +126,17 @@ bool GmailServiceRoot::downloadAttachmentOnMyOwn(const QUrl& url) const {
return true;
}
QList<QAction*> GmailServiceRoot::serviceMenu() {
if (m_serviceMenu.isEmpty()) {
QAction* act_new_email = new QAction(qApp->icons()->fromTheme(QSL("mail-message-new")), tr("Write new e-mail message"), this);
connect(act_new_email, &QAction::triggered, this, &GmailServiceRoot::writeNewEmail);
m_serviceMenu.append(act_new_email);
}
return m_serviceMenu;
}
bool GmailServiceRoot::canBeEdited() const {
return true;
}

View File

@ -22,6 +22,7 @@ class GmailServiceRoot : public ServiceRoot, public CacheForServiceRoot {
void setNetwork(GmailNetworkFactory* network);
GmailNetworkFactory* network() const;
QList<QAction*> serviceMenu();
bool canBeEdited() const;
bool editViaGui();
bool canBeDeleted() const;
@ -43,6 +44,7 @@ class GmailServiceRoot : public ServiceRoot, public CacheForServiceRoot {
RootItem* obtainNewTreeForSyncIn() const;
private:
void writeNewEmail();
void loadFromDatabase();
private:

View File

@ -0,0 +1,13 @@
// For license of this file, see <object-root-folder>/LICENSE.md.
#include "services/gmail/gui/formaddeditemail.h"
#include "services/gmail/gmailserviceroot.h"
FormAddEditEmail::FormAddEditEmail(GmailServiceRoot* root, QWidget* parent) : QDialog(parent), m_root(root) {
m_ui.setupUi(this);
}
void FormAddEditEmail::execForAdd() {
exec();
}

View File

@ -0,0 +1,31 @@
// For license of this file, see <object-root-folder>/LICENSE.md.
#ifndef FORMADDEDITEMAIL_H
#define FORMADDEDITEMAIL_H
#include <QDialog>
#include "ui_formaddeditemail.h"
namespace Ui {
class FormAddEditEmail;
}
class GmailServiceRoot;
class FormAddEditEmail : public QDialog {
Q_OBJECT
public:
explicit FormAddEditEmail(GmailServiceRoot* root, QWidget* parent = nullptr);
public slots:
void execForAdd();
private:
GmailServiceRoot* m_root;
Ui::FormAddEditEmail m_ui;
};
#endif // FORMADDEDITEMAIL_H

View File

@ -0,0 +1,71 @@
<ui version="4.0">
<author/>
<comment/>
<exportmacro/>
<class>FormAddEditEmail</class>
<widget name="FormAddEditEmail" class="QDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget name="buttonBox" class="QDialogButtonBox">
<property name="geometry">
<rect>
<x>30</x>
<y>240</y>
<width>341</width>
<height>32</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</widget>
<pixmapfunction/>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>FormAddEditEmail</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>FormAddEditEmail</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>