/** * Update the local favorites file and add thumb if necessary. */ void favoriteWindow::save() { Favorite oldFav = favorite; favorite = Favorite(ui->tagLineEdit->text(), ui->noteSpinBox->value(), ui->lastViewedDateTimeEdit->dateTime()); if (QFile::exists(ui->imageLineEdit->text())) { QPixmap img(ui->imageLineEdit->text()); if (!img.isNull()) { favorite.setImage(img); } } else if (oldFav.getName() != ui->tagLineEdit->text() && QFile::exists(savePath("thumbs/" + oldFav.getName(true) + ".png"))) { QFile::rename(savePath("thumbs/" + oldFav.getName(true) + ".png"), savePath("thumbs/" + favorite.getName(true) + ".png")); } QFile f(savePath("favorites.txt")); f.open(QIODevice::ReadOnly); QString favorites = f.readAll(); f.close(); favorites.replace("\r\n", "\n").replace("\r", "\n").replace("\n", "\r\n"); favorites.remove(oldFav.getName() + "|" + QString::number(oldFav.getNote()) + "|" + oldFav.getLastViewed().toString(Qt::ISODate) + "\r\n"); favorites += favorite.getName() + "|" + QString::number(favorite.getNote()) + "|" + favorite.getLastViewed().toString(Qt::ISODate) + "\r\n"; f.open(QIODevice::WriteOnly); f.write(favorites.toUtf8()); f.close(); emit favoritesChanged(); }
/** * Removes the favorite from the list and closes the window */ void favoriteWindow::on_buttonRemove_clicked() { QFile f(savePath("favorites.txt")); f.open(QIODevice::ReadOnly); QString favs = f.readAll(); f.close(); favs.replace("\r\n", "\n").replace("\r", "\n").replace("\n", "\r\n"); QRegExp reg(QRegExp::escape(favorite.getName()) + "\\|(.+)\\r\\n"); reg.setMinimal(true); favs.remove(reg); f.open(QIODevice::WriteOnly); f.write(favs.toUtf8()); f.close(); if (QFile::exists(savePath("thumbs/" + favorite.getName(true) + ".png"))) { QFile::remove(savePath("thumbs/" + favorite.getName(true) + ".png")); } emit favoritesChanged(); close(); }
void CWizDatabaseManager::initSignals(CWizDatabase* db) { connect(db, SIGNAL(groupsInfoDownloaded(const CWizGroupDataArray&)), SLOT(on_groupsInfoDownloaded(const CWizGroupDataArray&)), Qt::BlockingQueuedConnection); //connect(db, SIGNAL(databaseOpened(const QString&)), // SIGNAL(databaseOpened(const QString&))); connect(db, SIGNAL(databaseRename(const QString&)), SIGNAL(databaseRename(const QString&))); connect(db, SIGNAL(databasePermissionChanged(const QString&)), SIGNAL(databasePermissionChanged(const QString&))); connect(db, SIGNAL(databaseBizChanged(const QString&)), SIGNAL(databaseBizchanged(const QString&))); connect(db, SIGNAL(userIdChanged(QString,QString)), SIGNAL(userIdChanged(QString,QString))); connect(db, SIGNAL(tagCreated(const WIZTAGDATA&)), SIGNAL(tagCreated(const WIZTAGDATA&))); connect(db, SIGNAL(tagModified(const WIZTAGDATA&, const WIZTAGDATA&)), SIGNAL(tagModified(const WIZTAGDATA&, const WIZTAGDATA&))); connect(db, SIGNAL(tagDeleted(const WIZTAGDATA&)), SIGNAL(tagDeleted(const WIZTAGDATA&))); connect(db, SIGNAL(styleCreated(const WIZSTYLEDATA&)), SIGNAL(styleCreated(const WIZSTYLEDATA&))); connect(db, SIGNAL(styleModified(const WIZSTYLEDATA&, const WIZSTYLEDATA&)), SIGNAL(styleModified(const WIZSTYLEDATA&, const WIZSTYLEDATA&))); connect(db, SIGNAL(styleDeleted(const WIZSTYLEDATA&)), SIGNAL(styleDeleted(const WIZSTYLEDATA&))); connect(db, SIGNAL(documentCreated(const WIZDOCUMENTDATA&)), SIGNAL(documentCreated(const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentModified(const WIZDOCUMENTDATA&, const WIZDOCUMENTDATA&)), SIGNAL(documentModified(const WIZDOCUMENTDATA&, const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentDeleted(const WIZDOCUMENTDATA&)), SIGNAL(documentDeleted(const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentTagModified(const WIZDOCUMENTDATA&)), SIGNAL(documentTagModified(const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentReadCountChanged(const WIZDOCUMENTDATA&)), SIGNAL(documentReadCountChanged(const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentDataModified(const WIZDOCUMENTDATA&)), SIGNAL(documentDataModified(const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentAbstractModified(const WIZDOCUMENTDATA&)), SIGNAL(documentAbstractModified(const WIZDOCUMENTDATA&))); connect(db, SIGNAL(documentUploaded(QString,QString)), SIGNAL(documentUploaded(QString,QString))); connect(db,SIGNAL(groupDocumentUnreadCountModified(QString)), SIGNAL(groupDocumentUnreadCountModified(QString))); connect(db, SIGNAL(attachmentCreated(const WIZDOCUMENTATTACHMENTDATA&)), SIGNAL(attachmentCreated(const WIZDOCUMENTATTACHMENTDATA&))); connect(db, SIGNAL(attachmentModified(const WIZDOCUMENTATTACHMENTDATA&, const WIZDOCUMENTATTACHMENTDATA&)), SIGNAL(attachmentModified(const WIZDOCUMENTATTACHMENTDATA&, const WIZDOCUMENTATTACHMENTDATA&))); connect(db, SIGNAL(attachmentDeleted(const WIZDOCUMENTATTACHMENTDATA&)), SIGNAL(attachmentDeleted(const WIZDOCUMENTATTACHMENTDATA&))); connect(db, SIGNAL(folderCreated(const QString&)), SIGNAL(folderCreated(const QString&))); connect(db, SIGNAL(folderDeleted(const QString&)), SIGNAL(folderDeleted(const QString&))); connect(db, SIGNAL(tagsPositionChanged(const QString&)), SIGNAL(tagsPositionChanged(const QString&))); connect(db, SIGNAL(folderPositionChanged()), SIGNAL(folderPositionChanged())); connect(db, SIGNAL(messageCreated(WIZMESSAGEDATA)), SIGNAL(messageCreated(WIZMESSAGEDATA))); connect(db, SIGNAL(messageModified(WIZMESSAGEDATA,WIZMESSAGEDATA)), SIGNAL(messageModified(WIZMESSAGEDATA,WIZMESSAGEDATA))); connect(db, SIGNAL(messageDeleted(WIZMESSAGEDATA)), SIGNAL(messageDeleted(WIZMESSAGEDATA))); connect(db, SIGNAL(favoritesChanged(QString)), SIGNAL(favoritesChanged(QString))); }
tagTab::tagTab(int id, QMap<QString,Site*> *sites, QList<Favorite> favorites, mainWindow *parent) : searchTab(id, sites, parent), ui(new Ui::tagTab), m_id(id), m_parent(parent), m_favorites(favorites), m_pagemax(-1), m_lastTags(QString()), m_sized(false), m_from_history(false), m_stop(true), m_history_cursor(0), m_history(QList<QMap<QString,QString> >()), m_modifiers(QStringList()) { ui->setupUi(this); ui->widgetMeant->hide(); setAttribute(Qt::WA_DeleteOnClose); QSettings settings(savePath("settings.ini"), QSettings::IniFormat, this); m_ignored = loadIgnored(); // Search fields QStringList favs; for (Favorite fav : m_favorites) favs.append(fav.getName()); m_search = new TextEdit(favs, this); m_postFiltering = new TextEdit(favs, this); m_search->setContextMenuPolicy(Qt::CustomContextMenu); m_postFiltering->setContextMenuPolicy(Qt::CustomContextMenu); if (settings.value("autocompletion", true).toBool()) { QFile words("words.txt"); if (words.open(QIODevice::ReadOnly | QIODevice::Text)) { while (!words.atEnd()) m_completion.append(QString(words.readLine()).trimmed().split(" ", QString::SkipEmptyParts)); words.close(); } QFile wordsc(savePath("wordsc.txt")); if (wordsc.open(QIODevice::ReadOnly | QIODevice::Text)) { while (!wordsc.atEnd()) m_completion.append(QString(wordsc.readLine()).trimmed().split(" ", QString::SkipEmptyParts)); wordsc.close(); } for (int i = 0; i < sites->size(); i++) if (sites->value(sites->keys().at(i))->contains("Modifiers")) m_modifiers.append(sites->value(sites->keys().at(i))->value("Modifiers").trimmed().split(" ", QString::SkipEmptyParts)); m_completion.append(m_modifiers); m_completion.append(favs); m_completion.removeDuplicates(); m_completion.sort(); QCompleter *completer = new QCompleter(m_completion, this); completer->setCaseSensitivity(Qt::CaseInsensitive); m_search->setCompleter(completer); m_postFiltering->setCompleter(completer); } connect(m_search, SIGNAL(returnPressed()), this, SLOT(load())); connect(m_search, SIGNAL(favoritesChanged()), _mainwindow, SLOT(updateFavorites())); connect(m_search, SIGNAL(favoritesChanged()), _mainwindow, SLOT(updateFavoritesDock())); connect(m_search, SIGNAL(kflChanged()), _mainwindow, SLOT(updateKeepForLater())); connect(m_postFiltering, SIGNAL(returnPressed()), this, SLOT(load())); connect(ui->labelMeant, SIGNAL(linkActivated(QString)), this, SLOT(setTags(QString))); ui->layoutFields->insertWidget(1, m_search, 1); ui->layoutPlus->addWidget(m_postFiltering, 1, 1, 1, 3); // Sources QString sel = '1'+QString().fill('0',m_sites->count()-1); QString sav = settings.value("sites", sel).toString(); for (int i = 0; i < sel.count(); i++) { if (sav.count() <= i) { sav[i] = '0'; } m_selectedSources.append(sav.at(i) == '1' ? true : false); } // Others ui->checkMergeResults->setChecked(settings.value("mergeresults", false).toBool()); optionsChanged(); ui->widgetPlus->hide(); setWindowIcon(QIcon()); updateCheckboxes(); m_search->setFocus(); }