void searchTab::saveSources(QList<bool> sel) { log(tr("Sauvegarde des sources...")); m_selectedSources = sel; QString sav; for (int i = 0; i < m_selectedSources.count(); i++) { sav += (m_selectedSources.at(i) ? "1" : "0"); } QSettings settings(savePath("settings.ini"), QSettings::IniFormat, this); settings.setValue("sites", sav); DONE(); updateCheckboxes(); }
favoritesTab::favoritesTab(QMap<QString,Site*> *sites, Profile *profile, mainWindow *parent) : searchTab(sites, profile, parent), ui(new Ui::favoritesTab), m_sized(false), m_currentFav(0) { ui->setupUi(this); // UI members for SearchTab class ui_checkMergeResults = ui->checkMergeResults; ui_spinPage = ui->spinPage; ui_spinImagesPerPage = ui->spinImagesPerPage; ui_spinColumns = ui->spinColumns; ui_widgetMeant = nullptr; ui_labelMeant = nullptr; ui_layoutResults = ui->layoutResults; ui_layoutSourcesList = ui->layoutSourcesList; ui_buttonHistoryBack = ui->buttonHistoryBack; ui_buttonHistoryNext = ui->buttonHistoryNext; ui_buttonNextPage = ui->buttonNextPage; ui_buttonLastPage = ui->buttonLastPage; ui_buttonGetAll = ui->buttonGetAll; ui_buttonGetPage = ui->buttonGetpage; ui_buttonGetSel = ui->buttonGetSel; ui_buttonFirstPage = ui->buttonFirstPage; ui_buttonPreviousPage = ui->buttonPreviousPage; // Search field m_postFiltering = createAutocomplete(); ui->layoutPlus->addWidget(m_postFiltering, 1, 1, 1, 3); // Others ui->checkMergeResults->setChecked(m_settings->value("mergeresults", false).toBool()); optionsChanged(); ui->widgetPlus->hide(); setWindowIcon(QIcon()); updateCheckboxes(); QStringList assoc = QStringList() << "name" << "note" << "lastviewed"; ui->comboOrder->setCurrentIndex(assoc.indexOf(m_settings->value("Favorites/order", "name").toString())); ui->comboAsc->setCurrentIndex(int(m_settings->value("Favorites/reverse", false).toBool())); m_settings->setValue("reverse", bool(ui->comboAsc->currentIndex() == 1)); ui->widgetResults->hide(); connect(m_profile, &Profile::favoritesChanged, this, &favoritesTab::updateFavorites); updateFavorites(); }
/** * Open the window to add a site. */ void sourcesWindow::addSite() { siteWindow *sw = new siteWindow(m_sites, this); sw->show(); connect(sw, SIGNAL(accepted()), this, SLOT(updateCheckboxes())); }
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(); }