void StyleEngene::init() { #ifdef Q_WS_WIN QString rootPath = QApplication::applicationDirPath() + "/styles/"; #endif #ifdef Q_WS_UNIX QString rootPath = "/usr/share/cutetorrent/styles/"; #endif QDir rootDir = QDir(rootPath); if(rootDir.exists()) { QStringList styleDirs = rootDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); foreach(QString styleDir, styleDirs) { loadStyleInfo(rootPath + styleDir); }
void Style::loadStylesList() { QStringList dirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, "styles", QStandardPaths::LocateDirectory); for (const QString &path: dirs) { QDir dir(path); QStringList subdirs = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot); for (const QString &subdir: subdirs) { dir.cd(subdir); if (dir.exists("style")) { if (!s_styles.contains(subdir)) { loadStyleInfo(subdir, dir.absolutePath()); } } dir.cdUp(); } } }
/** Loads the settings for this page */ void ChatPage::load() { Settings->beginGroup(QString("Chat")); whileBlocking(ui.checkBox_emoteprivchat)->setChecked(Settings->value("Emoteicons_PrivatChat", true).toBool()); whileBlocking(ui.checkBox_emotegroupchat)->setChecked(Settings->value("Emoteicons_GroupChat", true).toBool()); whileBlocking(ui.checkBox_enableCustomFonts)->setChecked(Settings->value("EnableCustomFonts", true).toBool()); whileBlocking(ui.checkBox_enableCustomFontSize)->setChecked(Settings->value("EnableCustomFontSize", true).toBool()); whileBlocking(ui.minimumFontSize)->setValue(Settings->value("MinimumFontSize", 10).toInt()); whileBlocking(ui.checkBox_enableBold)->setChecked(Settings->value("EnableBold", true).toBool()); whileBlocking(ui.checkBox_enableItalics)->setChecked(Settings->value("EnableItalics", true).toBool()); whileBlocking(ui.minimumContrast)->setValue(Settings->value("MinimumContrast", 4.5).toDouble()); Settings->endGroup(); // state of distant Chat combobox int index = Settings->value("DistantChat", 0).toInt(); whileBlocking(ui.distantChatComboBox)->setCurrentIndex(index); fontTempChat.fromString(Settings->getChatScreenFont()); whileBlocking(ui.sendMessageWithCtrlReturn)->setChecked(Settings->getChatSendMessageWithCtrlReturn()); whileBlocking(ui.sendAsPlainTextByDef)->setChecked(Settings->getChatSendAsPlainTextByDef()); whileBlocking(ui.loadEmbeddedImages)->setChecked(Settings->getChatLoadEmbeddedImages()); whileBlocking(ui.DontSendTyping)->setChecked(Settings->getChatDoNotSendIsTyping()); std::string advsetting; if(rsConfig->getConfigurationOption(RS_CONFIG_ADVANCED, advsetting) && (advsetting == "YES")) { } else ui.DontSendTyping->hide(); whileBlocking(ui.sbSearch_CharToStart)->setValue(Settings->getChatSearchCharToStartSearch()); whileBlocking(ui.cbSearch_CaseSensitively)->setChecked(Settings->getChatSearchCaseSensitively()); whileBlocking(ui.cbSearch_WholeWords)->setChecked(Settings->getChatSearchWholeWords()); whileBlocking(ui.cbSearch_MoveToCursor)->setChecked(Settings->getChatSearchMoveToCursor()); whileBlocking(ui.cbSearch_WithoutLimit)->setChecked(Settings->getChatSearchSearchWithoutLimit()); whileBlocking(ui.sbSearch_MaxLimitColor)->setValue(Settings->getChatSearchMaxSearchLimitColor()); rgbChatSearchFoundColor=Settings->getChatSearchFoundColor(); QPixmap pix(24, 24); pix.fill(rgbChatSearchFoundColor); ui.btSearch_FoundColor->setIcon(pix); whileBlocking(ui.publicChatLoadCount)->setValue(Settings->getPublicChatHistoryCount()); whileBlocking(ui.privateChatLoadCount)->setValue(Settings->getPrivateChatHistoryCount()); whileBlocking(ui.lobbyChatLoadCount)->setValue(Settings->getLobbyChatHistoryCount()); whileBlocking(ui.publicChatEnable)->setChecked(rsHistory->getEnable(RS_HISTORY_TYPE_PUBLIC)); whileBlocking(ui.privateChatEnable)->setChecked(rsHistory->getEnable(RS_HISTORY_TYPE_PRIVATE)); whileBlocking(ui.lobbyChatEnable)->setChecked(rsHistory->getEnable(RS_HISTORY_TYPE_LOBBY)); whileBlocking(ui.publicChatSaveCount)->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_PUBLIC)); whileBlocking(ui.privateChatSaveCount)->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_PRIVATE)); whileBlocking(ui.lobbyChatSaveCount)->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_LOBBY)); // using fontTempChat.rawname() does not always work! // see http://doc.qt.digia.com/qt-maemo/qfont.html#rawName QStringList fontname = fontTempChat.toString().split(","); whileBlocking(ui.labelChatFontPreview)->setText(fontname[0]); whileBlocking(ui.labelChatFontPreview)->setFont(fontTempChat); whileBlocking(ui.max_storage_period)->setValue(rsHistory->getMaxStorageDuration()/86400) ; /* Load styles */ publicStylePath = loadStyleInfo(ChatStyle::TYPE_PUBLIC, ui.publicStyle, ui.publicComboBoxVariant, publicStyleVariant); privateStylePath = loadStyleInfo(ChatStyle::TYPE_PRIVATE, ui.privateStyle, ui.privateComboBoxVariant, privateStyleVariant); historyStylePath = loadStyleInfo(ChatStyle::TYPE_HISTORY, ui.historyStyle, ui.historyComboBoxVariant, historyStyleVariant); RsGxsId gxs_id ; rsMsgs->getDefaultIdentityForChatLobby(gxs_id) ; ui.chatLobbyIdentity_IC->setFlags(IDCHOOSER_ID_REQUIRED) ; if(!gxs_id.isNull()) ui.chatLobbyIdentity_IC->setChosenId(gxs_id); uint chatflags = Settings->getChatFlags(); whileBlocking(ui.chat_NewWindow)->setChecked(chatflags & RS_CHAT_OPEN); whileBlocking(ui.chat_Focus)->setChecked(chatflags & RS_CHAT_FOCUS); whileBlocking(ui.chat_tabbedWindow)->setChecked(chatflags & RS_CHAT_TABBED_WINDOW); whileBlocking(ui.chat_Blink)->setChecked(chatflags & RS_CHAT_BLINK); uint chatLobbyFlags = Settings->getChatLobbyFlags(); whileBlocking(ui.chatLobby_Blink)->setChecked(chatLobbyFlags & RS_CHATLOBBY_BLINK); // load personal invites // #ifdef TO_BE_DONE for(;;) { QListWidgetItem *item = new QListWidgetItem; item->setData(Qt::DisplayRole,tr("Private chat invite from")+" "+QString::fromUtf8(detail.name.c_str())) ; QString tt ; tt += tr("Name :")+" " + QString::fromUtf8(detail.name.c_str()) ; tt += "\n" + tr("PGP id :")+" " + QString::fromStdString(invites[i].destination_pgp_id.toStdString()) ; tt += "\n" + tr("Valid until :")+" " + QDateTime::fromTime_t(invites[i].time_of_validity).toString() ; item->setData(Qt::UserRole,QString::fromStdString(invites[i].pid.toStdString())) ; item->setToolTip(tt) ; ui._collected_contacts_LW->insertItem(0,item) ; } #endif }
/** Loads the settings for this page */ void ChatPage::load() { Settings->beginGroup(QString("Chat")); ui.checkBox_emoteprivchat->setChecked(Settings->value("Emoteicons_PrivatChat", true).toBool()); ui.checkBox_emotegroupchat->setChecked(Settings->value("Emoteicons_GroupChat", true).toBool()); ui.checkBox_enableCustomFonts->setChecked(Settings->value("EnableCustomFonts", true).toBool()); ui.checkBox_enableCustomFontSize->setChecked(Settings->value("EnableCustomFontSize", true).toBool()); ui.checkBox_enableBold->setChecked(Settings->value("EnableBold", true).toBool()); ui.checkBox_enableItalics->setChecked(Settings->value("EnableItalics", true).toBool()); ui.minimumContrast->setValue(Settings->value("MinimumContrast", 4.5).toDouble()); Settings->endGroup(); fontTempChat.fromString(Settings->getChatScreenFont()); ui.sendMessageWithCtrlReturn->setChecked(Settings->getChatSendMessageWithCtrlReturn()); ui.publicChatLoadCount->setValue(Settings->getPublicChatHistoryCount()); ui.privateChatLoadCount->setValue(Settings->getPrivateChatHistoryCount()); ui.lobbyChatLoadCount->setValue(Settings->getLobbyChatHistoryCount()); ui.publicChatEnable->setChecked(rsHistory->getEnable(RS_HISTORY_TYPE_PUBLIC)); ui.privateChatEnable->setChecked(rsHistory->getEnable(RS_HISTORY_TYPE_PRIVATE)); ui.lobbyChatEnable->setChecked(rsHistory->getEnable(RS_HISTORY_TYPE_LOBBY)); ui.publicChatSaveCount->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_PUBLIC)); ui.privateChatSaveCount->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_PRIVATE)); ui.lobbyChatSaveCount->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_LOBBY)); ui.labelChatFontPreview->setText(fontTempChat.rawName()); ui.labelChatFontPreview->setFont(fontTempChat); ui.max_storage_period->setValue(rsHistory->getMaxStorageDuration()/86400) ; /* Load styles */ publicStylePath = loadStyleInfo(ChatStyle::TYPE_PUBLIC, ui.publicList, ui.publicComboBoxVariant, publicStyleVariant); privateStylePath = loadStyleInfo(ChatStyle::TYPE_PRIVATE, ui.privateList, ui.privateComboBoxVariant, privateStyleVariant); historyStylePath = loadStyleInfo(ChatStyle::TYPE_HISTORY, ui.historyList, ui.historyComboBoxVariant, historyStyleVariant); std::string nick ; rsMsgs->getDefaultNickNameForChatLobby(nick) ; ui.chatLobbyNick_LE->setText(QString::fromUtf8(nick.c_str())) ; uint chatflags = Settings->getChatFlags(); ui.chat_NewWindow->setChecked(chatflags & RS_CHAT_OPEN); ui.chat_Focus->setChecked(chatflags & RS_CHAT_FOCUS); ui.chat_tabbedWindow->setChecked(chatflags & RS_CHAT_TABBED_WINDOW); ui.chat_Blink->setChecked(chatflags & RS_CHAT_BLINK); uint chatLobbyFlags = Settings->getChatLobbyFlags(); ui.chatLobby_Blink->setChecked(chatLobbyFlags & RS_CHATLOBBY_BLINK); // load personal invites // std::vector<DistantChatInviteInfo> invites ; rsMsgs->getDistantChatInviteList(invites) ; ui._personal_invites_LW->clear() ; ui._collected_contacts_LW->clear() ; for(uint32_t i=0;i<invites.size();++i) { RsPeerDetails detail ; rsPeers->getPeerDetails(invites[i].destination_pgp_id,detail) ; if(invites[i].encrypted_radix64_string.empty()) { QListWidgetItem *item = new QListWidgetItem; item->setData(Qt::DisplayRole,tr("Private chat invite from ")+QString::fromUtf8(detail.name.c_str())) ; QString tt ; tt += tr("Name : ") + QString::fromStdString(detail.name) ; tt += "\n" + QString("PGP id : ") + QString::fromStdString(invites[i].destination_pgp_id) ; tt += "\n" + QString("Valid until : ") + QDateTime::fromTime_t(invites[i].time_of_validity).toString() ; if(invites[i].invite_flags & RS_DISTANT_CHAT_FLAG_SIGNED) if(invites[i].invite_flags & RS_DISTANT_CHAT_FLAG_SIGNATURE_OK) { tt += "\n"+tr("Authenticated signature") ; item->setIcon(QIcon(":images/stock_signature_ok.png")) ; } else { tt += "\n"+tr("Signed with key not in keyring") ; item->setIcon(QIcon(":images/stock_signature_unverified.png")) ; } else { tt += "\n"+tr("Not signed.") ; item->setIcon(QIcon(":images/stock_signature_missing.png")) ; } item->setData(Qt::UserRole,QString::fromStdString(invites[i].hash)) ; item->setToolTip(tt) ; ui._collected_contacts_LW->insertItem(0,item) ; } else { QListWidgetItem *item = new QListWidgetItem; item->setData(Qt::DisplayRole,tr("Private chat invite to ")+QString::fromStdString(detail.name)+" ("+QString::fromStdString(invites[i].destination_pgp_id)+", " + QString::fromStdString(detail.name) + ", valid until " + QDateTime::fromTime_t(invites[i].time_of_validity).toString() + ")") ; item->setData(Qt::UserRole,QString::fromStdString(invites[i].hash)) ; ui._personal_invites_LW->insertItem(0,item) ; } } }