RepoTreeView::RepoTreeView(QWidget *parent) : QTreeView(parent) { header()->hide(); createActions(); // We draw the indicator ourselves setIndentation(0); // We handle the click oursevles setExpandsOnDoubleClick(false); connect(this, SIGNAL(clicked(const QModelIndex&)), this, SLOT(onItemClicked(const QModelIndex&))); connect(this, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(onItemDoubleClicked(const QModelIndex&))); #ifdef Q_WS_MAC this->setAttribute(Qt::WA_MacShowFocusRect, 0); #endif loadExpandedCategries(); connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(saveExpandedCategries())); connect(seafApplet->accountManager(), SIGNAL(beforeAccountChanged()), this, SLOT(saveExpandedCategries())); connect(seafApplet->accountManager(), SIGNAL(accountsChanged()), this, SLOT(loadExpandedCategries())); }
void AccountManager::serverInfoSuccess(const Account &account, const ServerInfo &info) { setServerInfoKeyValue(db, account, kVersionKeyName, info.getVersionString()); setServerInfoKeyValue(db, account, kFeaturesKeyName, info.getFeatureStrings().join(",")); setServerInfoKeyValue(db, account, kCustomLogoKeyName, info.customLogo); setServerInfoKeyValue(db, account, kCustomBrandKeyName, info.customBrand); QUrl url(account.serverUrl); url.setPath("/"); seafApplet->rpcClient()->setServerProperty( url.toString(), "is_pro", account.isPro() ? "true" : "false"); bool changed = account.serverInfo != info; if (!changed) return; for (size_t i = 0; i < accounts_.size(); i++) { if (accounts_[i] == account) { if (i == 0) emit beforeAccountChanged(); accounts_[i].serverInfo = info; if (i == 0) emit accountsChanged(); break; } } }
bool AccountManager::setCurrentAccount(const Account& account) { if (account == currentAccount()) { return false; } emit beforeAccountChanged(); // Would emit "accountsChanged" signal saveAccount(account); return true; }
bool AccountManager::setCurrentAccount(const Account& account) { if (account == currentAccount()) { return false; } emit beforeAccountChanged(); // Would emit "accountsChanged" signal saveAccount(account); AccountInfoService::instance()->refresh(); return true; }
void AccountManager::serverInfoSuccess(const Account &account, const ServerInfo &info) { setServerInfoKeyValue(db, account, kVersionKeyName, info.getVersionString()); setServerInfoKeyValue(db, account, kFeaturesKeyName, info.getFeatureStrings().join(",")); setServerInfoKeyValue(db, account, kCustomLogoKeyName, info.customLogo); setServerInfoKeyValue(db, account, kCustomBrandKeyName, info.customBrand); bool changed = account.serverInfo != info; if (!changed) return; for (size_t i = 0; i < accounts_.size(); i++) { if (accounts_[i] == account) { if (i == 0) emit beforeAccountChanged(); accounts_[i].serverInfo = info; if (i == 0) emit accountsChanged(); break; } } }