This commit is contained in:
Martin Rotter 2013-12-10 22:06:45 +01:00
parent 9f13912f5c
commit 7825f6150a
2 changed files with 48 additions and 4 deletions

View File

@ -126,16 +126,29 @@ void FormSettings::changeBrowserProgressColor() {
void FormSettings::loadFeedsMessages() {
Settings *settings = Settings::getInstance();
// TODO: dodělat
m_ui->m_cmbExternalBrowserPreset->addItem("Chromium", "aa %1");
m_ui->m_cmbExternalBrowserPreset->addItem("Mozilla Firefox", "aa %1");
m_ui->m_cmbExternalBrowserPreset->addItem("Safari", "aa %1");
m_ui->m_cmbExternalBrowserPreset->addItem("Microsoft Internet Explorer", "aa %1");
m_ui->m_cmbExternalBrowserPreset->addItem("Opera 12 or older", "-nosession %1");
m_ui->m_txtExternalBrowserExecutable->setText(settings->value(APP_CFG_MESSAGES,
"external_browser_executable").toString());
m_ui->m_txtExternalBrowserArguments->setText(settings->value(APP_CFG_MESSAGES,
"external_browser_arguments").toString());
"external_browser_arguments",
"%1").toString());
}
void FormSettings::saveFeedsMessages() {
Settings *settings = Settings::getInstance();
settings->setValue(APP_CFG_MESSAGES,
"external_browser_executable",
m_ui->m_txtExternalBrowserExecutable->text());
settings->setValue(APP_CFG_MESSAGES,
"external_browser_arguments",
m_ui->m_txtExternalBrowserArguments->text());
}
void FormSettings::displayProxyPassword(int state) {
@ -153,9 +166,8 @@ bool FormSettings::doSaveCheck() {
QMessageBox msg_error(this);
// Setup indication of settings consistence.
everything_ok &= m_ui->m_shortcuts->areShortcutsUnique();
if (!m_ui->m_shortcuts->areShortcutsUnique()) {
everything_ok = false;
#if QT_VERSION >= 0x050000
resulting_information.append(tr(" • some keyboard shortcuts are not unique"));
#else
@ -163,6 +175,16 @@ bool FormSettings::doSaveCheck() {
#endif
}
if (m_ui->m_txtExternalBrowserExecutable->text().isEmpty() ||
m_ui->m_txtExternalBrowserArguments->text().isEmpty()) {
everything_ok = false;
#if QT_VERSION >= 0x050000
resulting_information.append(tr(" • external browser is not set"));
#else
resulting_information.append(trUtf8(" • external browser is not set"));
#endif
}
// Setup dialog.
msg_error.setText(tr("Some critical settings are not set. You must fix these settings in order confirm new settings."));
msg_error.setWindowTitle(tr("Cannot save settings"));

View File

@ -2,11 +2,14 @@
#include <QKeyEvent>
#include <QScrollBar>
#include <QMenu>
#include <QMessageBox>
#include <QProcess>
#include "gui/messagesview.h"
#include "core/messagesproxymodel.h"
#include "core/messagesmodel.h"
#include "gui/formmain.h"
#include "core/settings.h"
MessagesView::MessagesView(QWidget *parent)
@ -178,7 +181,26 @@ void MessagesView::currentChanged(const QModelIndex &current,
}
void MessagesView::openSelectedSourceArticlesExternally() {
// TODO: otevře vybrane zpravy v externim prohlizeci
QString browser = Settings::getInstance()->value(APP_CFG_MESSAGES,
"external_browser_executable").toString();
QString arguments = Settings::getInstance()->value(APP_CFG_MESSAGES,
"external_browser_arguments",
"%1").toString();
if (browser.isEmpty() || arguments.isEmpty()) {
QMessageBox::critical(this,
tr("External browser not set"),
tr("External browser is not set, head to application settings and set it up to use this feature."),
QMessageBox::Ok);
return;
}
foreach (const QModelIndex &index, selectionModel()->selectedRows()) {
QString link = m_sourceModel->messageAt(m_proxyModel->mapToSource(index).row()).m_url;
QProcess::execute(browser, QStringList() << arguments.arg(link));
}
}
void MessagesView::openSelectedSourceMessagesInternally() {