Browse Source

Change width of columns in search tab. Closes #764

adaptive-webui-19844
ngosang 10 years ago
parent
commit
b18138bad0
  1. 47
      src/searchengine/searchengine.cpp
  2. 1
      src/searchengine/searchengine.h
  3. 2
      src/searchengine/searchtab.cpp

47
src/searchengine/searchengine.cpp

@ -206,7 +206,7 @@ void SearchEngine::on_search_button_clicked() { @@ -206,7 +206,7 @@ void SearchEngine::on_search_button_clicked() {
}
// Tab Addition
currentSearchTab = new SearchTab(this);
connect(currentSearchTab->header(), SIGNAL(sectionResized(int, int, int)), this, SLOT(propagateSectionResized(int,int,int)));
connect(currentSearchTab->header(), SIGNAL(sectionResized(int, int, int)), this, SLOT(saveResultsColumnsWidth()));
all_tab.append(currentSearchTab);
QString tabName = pattern;
tabName.replace(QRegExp("&{1}"), "&&");
@ -235,41 +235,20 @@ void SearchEngine::on_search_button_clicked() { @@ -235,41 +235,20 @@ void SearchEngine::on_search_button_clicked() {
searchTimeout->start(180000); // 3min
}
void SearchEngine::propagateSectionResized(int index, int , int newsize) {
foreach (SearchTab * tab, all_tab) {
tab->getCurrentTreeView()->setColumnWidth(index, newsize);
}
saveResultsColumnsWidth();
}
void SearchEngine::saveResultsColumnsWidth() {
if (all_tab.size() > 0) {
QTreeView* treeview = all_tab.first()->getCurrentTreeView();
Preferences* const pref = Preferences::instance();
QStringList width_list;
QStringList new_width_list;
short nbColumns = all_tab.first()->getCurrentSearchListModel()->columnCount();
QString line = pref->getSearchColsWidth();
if (!line.isEmpty()) {
width_list = line.split(' ');
}
for (short i=0; i<nbColumns; ++i) {
if (treeview->columnWidth(i)<1 && width_list.size() == nbColumns && width_list.at(i).toInt()>=1) {
// load the former width
new_width_list << width_list.at(i);
} else if (treeview->columnWidth(i)>=1) {
// usual case, save the current width
new_width_list << QString::number(treeview->columnWidth(i));
} else {
// default width
treeview->resizeColumnToContents(i);
new_width_list << QString::number(treeview->columnWidth(i));
}
}
pref->setSearchColsWidth(new_width_list.join(" "));
if (all_tab.isEmpty())
return;
QTreeView* treeview = all_tab.first()->getCurrentTreeView();
Preferences* const pref = Preferences::instance();
QStringList new_width_list;
short nbColumns = all_tab.first()->getCurrentSearchListModel()->columnCount();
for (short i=0; i<nbColumns; ++i) {
if (treeview->columnWidth(i) > 0)
new_width_list << QString::number(treeview->columnWidth(i));
}
// Don't save the width of the last column (auto column width)
new_width_list.removeLast();
pref->setSearchColsWidth(new_width_list.join(" "));
}
void SearchEngine::downloadTorrent(QString engine_url, QString torrent_url) {

1
src/searchengine/searchengine.h

@ -101,7 +101,6 @@ protected slots: @@ -101,7 +101,6 @@ protected slots:
void updateNova();
void selectMultipleBox(const QString &text);
void on_enginesButton_clicked();
void propagateSectionResized(int index, int oldsize , int newsize);
void saveResultsColumnsWidth();
void downloadFinished(int exitcode, QProcess::ExitStatus);
void fillCatCombobox();

2
src/searchengine/searchtab.cpp

@ -110,7 +110,7 @@ bool SearchTab::loadColWidthResultsList() { @@ -110,7 +110,7 @@ bool SearchTab::loadColWidthResultsList() {
if (line.isEmpty())
return false;
QStringList width_list = line.split(' ');
if (width_list.size() < SearchListModel->columnCount())
if (width_list.size() > SearchListModel->columnCount())
return false;
unsigned int listSize = width_list.size();
for (unsigned int i=0; i<listSize; ++i) {

Loading…
Cancel
Save