SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { setupUi(this); setWindowTitle(tr("Settings")); setWindowIcon(QIcon(":/images/seafile.png")); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); mTabWidget->setCurrentIndex(0); // Since closeEvent() would not not called when accept() is called, we // need to handle it here. connect(this, SIGNAL(accepted()), this, SLOT(updateSettings())); if (!isCheckLatestVersionEnabled()) { mCheckLatestVersionBox->setVisible(false); } mLanguageComboBox->addItems(I18NHelper::getInstance()->getLanguages()); mProxyMethodComboBox->insertItem(SettingsManager::NoneProxy, tr("None")); mProxyMethodComboBox->insertItem(SettingsManager::HttpProxy, tr("HTTP Proxy")); mProxyMethodComboBox->insertItem(SettingsManager::SocksProxy, tr("Socks5 Proxy")); connect(mProxyMethodComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(proxyMethodChanged(int))); connect(mProxyRequirePassword, SIGNAL(stateChanged(int)), this, SLOT(proxyRequirePasswordChanged(int))); #if defined(Q_OS_MAC) layout()->setContentsMargins(8, 9, 9, 4); layout()->setSpacing(5); mDownloadSpinBox->setAttribute(Qt::WA_MacShowFocusRect, 0); mUploadSpinBox->setAttribute(Qt::WA_MacShowFocusRect, 0); #endif }
void SettingsDialog::showEvent(QShowEvent *event) { Qt::CheckState state; int ratio; SettingsManager *mgr = seafApplet->settingsManager(); state = mgr->hideMainWindowWhenStarted() ? Qt::Checked : Qt::Unchecked; mHideMainWinCheckBox->setCheckState(state); state = mgr->allowInvalidWorktree() ? Qt::Checked : Qt::Unchecked; mAllowInvalidWorktreeCheckBox->setCheckState(state); state = mgr->allowRepoNotFoundOnServer() ? Qt::Checked : Qt::Unchecked; mAllowRepoNotFoundCheckBox->setCheckState(state); state = mgr->autoStart() ? Qt::Checked : Qt::Unchecked; mAutoStartCheckBox->setCheckState(state); state = mgr->notify() ? Qt::Checked : Qt::Unchecked; mNotifyCheckBox->setCheckState(state); ratio = mgr->maxDownloadRatio(); mDownloadSpinBox->setValue(ratio); ratio = mgr->maxUploadRatio(); mUploadSpinBox->setValue(ratio); if (isCheckLatestVersionEnabled()) { state = mgr->isCheckLatestVersionEnabled() ? Qt::Checked : Qt::Unchecked; mCheckLatestVersionBox->setCheckState(state); } QDialog::showEvent(event); }
void SettingsDialog::updateSettings() { SettingsManager *mgr = seafApplet->settingsManager(); mgr->setNotify(mNotifyCheckBox->checkState() == Qt::Checked); mgr->setAutoStart(mAutoStartCheckBox->checkState() == Qt::Checked); mgr->setMaxDownloadRatio(mDownloadSpinBox->value()); mgr->setMaxUploadRatio(mUploadSpinBox->value()); mgr->setHideMainWindowWhenStarted(mHideMainWinCheckBox->checkState() == Qt::Checked); mgr->setAllowInvalidWorktree(mAllowInvalidWorktreeCheckBox->checkState() == Qt::Checked); mgr->setAllowRepoNotFoundOnServer(mAllowRepoNotFoundCheckBox->checkState() == Qt::Checked); if (isCheckLatestVersionEnabled()) { bool enabled = mCheckLatestVersionBox->checkState() == Qt::Checked; mgr->setCheckLatestVersionEnabled(enabled); } }
SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { setupUi(this); setWindowTitle(tr("Settings")); setWindowIcon(QIcon(":/images/seafile.png")); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); mTabWidget->setCurrentIndex(0); // Since closeEvent() would not not called when accept() is called, we // need to handle it here. connect(this, SIGNAL(accepted()), this, SLOT(updateSettings())); if (!isCheckLatestVersionEnabled()) { mCheckLatestVersionBox->setVisible(false); } }
void SettingsDialog::updateSettings() { SettingsManager *mgr = seafApplet->settingsManager(); mgr->setNotify(mNotifyCheckBox->checkState() == Qt::Checked); mgr->setAutoStart(mAutoStartCheckBox->checkState() == Qt::Checked); mgr->setHideDockIcon(mHideDockIconCheckBox->checkState() == Qt::Checked); mgr->setSyncExtraTempFile(mSyncExtraTempFileCheckBox->checkState() == Qt::Checked); mgr->setMaxDownloadRatio(mDownloadSpinBox->value()); mgr->setMaxUploadRatio(mUploadSpinBox->value()); mgr->setHideMainWindowWhenStarted(mHideMainWinCheckBox->checkState() == Qt::Checked); mgr->setAllowInvalidWorktree(mAllowInvalidWorktreeCheckBox->checkState() == Qt::Checked); mgr->setHttpSyncCertVerifyDisabled(mDisableVerifyHttpSyncCert->checkState() == Qt::Checked); mgr->setEnableSyncingWithExistingFolder(mEnableSyncingWithExistingFolder->checkState() == Qt::Checked); mgr->setAllowRepoNotFoundOnServer(mAllowRepoNotFoundCheckBox->checkState() == Qt::Checked); #ifdef HAVE_FINDER_SYNC_SUPPORT if(mFinderSyncCheckBox->isEnabled()) mgr->setFinderSyncExtension(mFinderSyncCheckBox->checkState() == Qt::Checked); #endif #ifdef Q_OS_WIN32 mgr->setShellExtensionEnabled(mShellExtCheckBox->checkState() == Qt::Checked); #endif bool proxy_changed = updateProxySettings(); if (isCheckLatestVersionEnabled()) { bool enabled = mCheckLatestVersionBox->checkState() == Qt::Checked; mgr->setCheckLatestVersionEnabled(enabled); } bool language_changed = false; if (mLanguageComboBox->currentIndex() != I18NHelper::getInstance()->preferredLanguage()) { language_changed = true; I18NHelper::getInstance()->setPreferredLanguage(mLanguageComboBox->currentIndex()); } if (language_changed && seafApplet->yesOrNoBox(tr("You have changed languange. Restart to apply it?"), this, true)) seafApplet->restartApp(); if (proxy_changed && seafApplet->yesOrNoBox(tr("You have changed proxy settings. Restart to apply it?"), this, true)) seafApplet->restartApp(); }
SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { setupUi(this); setWindowTitle(tr("Settings")); setWindowIcon(QIcon(":/images/seafile.png")); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); mAutoStartCheckBox->setText( tr("Auto start %1 after login").arg(getBrand())); mHideDockIconCheckBox->setText( tr("Hide %1 Icon from the dock").arg(getBrand())); mTabWidget->setCurrentIndex(0); if (!isCheckLatestVersionEnabled()) { mCheckLatestVersionBox->setVisible(false); } mLanguageComboBox->addItems(I18NHelper::getInstance()->getLanguages()); // The range of mProxyPort is set to (0, 65535) in the ui file, so we // don't bother with that here. mProxyMethodComboBox->insertItem(SettingsManager::NoProxy, tr("None")); mProxyMethodComboBox->insertItem(SettingsManager::HttpProxy, tr("HTTP Proxy")); mProxyMethodComboBox->insertItem(SettingsManager::SocksProxy, tr("Socks5 Proxy")); mProxyMethodComboBox->insertItem(SettingsManager::SystemProxy, tr("System Proxy")); connect(mProxyMethodComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(showHideControlsBasedOnCurrentProxyType(int))); connect(mProxyRequirePassword, SIGNAL(stateChanged(int)), this, SLOT(proxyRequirePasswordChanged(int))); #if defined(Q_OS_MAC) layout()->setContentsMargins(8, 9, 9, 4); layout()->setSpacing(5); mDownloadSpinBox->setAttribute(Qt::WA_MacShowFocusRect, 0); mUploadSpinBox->setAttribute(Qt::WA_MacShowFocusRect, 0); #endif connect(mOkBtn, SIGNAL(clicked()), this, SLOT(onOkBtnClicked())); }
void SettingsDialog::showEvent(QShowEvent *event) { SettingsManager *mgr = seafApplet->settingsManager(); // mgr->loadSettings(); Qt::CheckState state; state = mgr->hideMainWindowWhenStarted() ? Qt::Checked : Qt::Unchecked; mHideMainWinCheckBox->setCheckState(state); state = mgr->allowInvalidWorktree() ? Qt::Checked : Qt::Unchecked; mAllowInvalidWorktreeCheckBox->setCheckState(state); state = mgr->syncExtraTempFile() ? Qt::Checked : Qt::Unchecked; mSyncExtraTempFileCheckBox->setCheckState(state); state = mgr->allowRepoNotFoundOnServer() ? Qt::Checked : Qt::Unchecked; mAllowRepoNotFoundCheckBox->setCheckState(state); state = mgr->httpSyncCertVerifyDisabled() ? Qt::Checked : Qt::Unchecked; mDisableVerifyHttpSyncCert->setCheckState(state); // currently supports windows only state = mgr->autoStart() ? Qt::Checked : Qt::Unchecked; mAutoStartCheckBox->setCheckState(state); #if !defined(Q_OS_WIN32) && !defined(Q_OS_MAC) mAutoStartCheckBox->hide(); #endif #ifdef HAVE_FINDER_SYNC_SUPPORT if (mgr->getFinderSyncExtensionAvailable()) { mFinderSyncCheckBox->setEnabled(true); state = mgr->getFinderSyncExtension() ? Qt::Checked : Qt::Unchecked; mFinderSyncCheckBox->setCheckState(state); } else { mFinderSyncCheckBox->setEnabled(false); } #else mFinderSyncCheckBox->hide(); #endif #if defined(Q_OS_WIN32) state = mgr->shellExtensionEnabled() ? Qt::Checked : Qt::Unchecked; mShellExtCheckBox->setCheckState(state); #else mShellExtCheckBox->hide(); #endif // currently supports mac only state = mgr->hideDockIcon() ? Qt::Checked : Qt::Unchecked; mHideDockIconCheckBox->setCheckState(state); #if !defined(Q_OS_MAC) mHideDockIconCheckBox->hide(); #endif state = mgr->notify() ? Qt::Checked : Qt::Unchecked; mNotifyCheckBox->setCheckState(state); int ratio; ratio = mgr->maxDownloadRatio(); mDownloadSpinBox->setValue(ratio); ratio = mgr->maxUploadRatio(); mUploadSpinBox->setValue(ratio); if (isCheckLatestVersionEnabled()) { state = mgr->isCheckLatestVersionEnabled() ? Qt::Checked : Qt::Unchecked; mCheckLatestVersionBox->setCheckState(state); } mEnableSyncingWithExistingFolder->hide(); SettingsManager::SeafileProxy proxy = mgr->getProxy(); showHideControlsBasedOnCurrentProxyType(proxy.type); mProxyMethodComboBox->setCurrentIndex(proxy.type); mProxyHost->setText(proxy.host); mProxyPort->setValue(proxy.port); mProxyUsername->setText(proxy.username); mProxyPassword->setText(proxy.password); if (!proxy.username.isEmpty()) mProxyRequirePassword->setChecked(true); mLanguageComboBox->setCurrentIndex(I18NHelper::getInstance()->preferredLanguage()); QDialog::showEvent(event); }