~paulbrianstewart/ubuntu/oneiric/tellico/852247-Formatting-Fix

« back to all changes in this revision

Viewing changes to src/detailedlistview.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Stephan Hermann
  • Date: 2008-01-31 19:33:05 UTC
  • mfrom: (0.1.13 upstream)
  • Revision ID: james.westby@ubuntu.com-20080131193305-9l01m5gfhykl6pkl
Tags: 1.3-1ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/control: build-dep on kdepim-dev
  - debian/control: drop versioned python from tellico-data suggests
  - debian/rules: call dh_icons

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
  m_imageColumns.clear();
83
83
//  myDebug() << "DetailedListView::addCollection()" << endl;
84
84
 
85
 
  KConfig* config = kapp->config();
86
 
  config->setGroup(QString::fromLatin1("Options - %1").arg(coll_->typeName()));
 
85
  KConfigGroup config(kapp->config(), QString::fromLatin1("Options - %1").arg(coll_->typeName()));
87
86
 
88
87
  QString configN;
89
88
  if(coll_->type() == Data::Collection::Base) {
90
89
    KURL url = Kernel::self()->URL();
91
90
    for(uint i = 0; i < Config::maxCustomURLSettings(); ++i) {
92
 
      KURL u = config->readEntry(QString::fromLatin1("URL_%1").arg(i));
 
91
      KURL u = config.readEntry(QString::fromLatin1("URL_%1").arg(i));
93
92
      if(u == url) {
94
93
        configN = QString::fromLatin1("_%1").arg(i);
95
94
        break;
97
96
    }
98
97
  }
99
98
 
100
 
  QStringList colNames = config->readListEntry("ColumnNames" + configN);
 
99
  QStringList colNames = config.readListEntry("ColumnNames" + configN);
101
100
  if(colNames.isEmpty()) {
102
101
    colNames = QString::fromLatin1("title");
103
102
  }
104
103
 
105
104
  // this block compensates for the chance that the user added a field and it wasn't
106
105
  // written to the widths. Also compensates for 0.5.x to 0.6.x column layout changes
107
 
  QValueList<int> colWidths = config->readIntListEntry("ColumnWidths" + configN);
 
106
  QValueList<int> colWidths = config.readIntListEntry("ColumnWidths" + configN);
108
107
  if(colWidths.empty()) {
109
108
    colWidths.insert(colWidths.begin(), colNames.count(), -1); // automatic width
110
109
  }
111
110
 
112
 
  QValueList<int> colOrder = config->readIntListEntry("ColumnOrder" + configN);
 
111
  QValueList<int> colOrder = config.readIntListEntry("ColumnOrder" + configN);
113
112
 
114
113
  // need to remove values for fields which don't exist in the current collection
115
114
  QStringList newCols;
163
162
  }
164
163
  slotUpdatePixmap();
165
164
 
166
 
  int sortCol = config->readNumEntry("SortColumn" + configN, 0);
167
 
  bool sortAsc = config->readBoolEntry("SortAscending" + configN, true);
 
165
  int sortCol = config.readNumEntry("SortColumn" + configN, 0);
 
166
  bool sortAsc = config.readBoolEntry("SortAscending" + configN, true);
168
167
  setSorting(sortCol, sortAsc);
169
 
  int prevSortCol = config->readNumEntry("PrevSortColumn" + configN, -1);
170
 
  int prev2SortCol = config->readNumEntry("Prev2SortColumn" + configN, -1);
 
168
  int prevSortCol = config.readNumEntry("PrevSortColumn" + configN, -1);
 
169
  int prev2SortCol = config.readNumEntry("Prev2SortColumn" + configN, -1);
171
170
  setPrevSortedColumn(prevSortCol, prev2SortCol);
172
171
 
173
172
  triggerUpdate();
274
273
 
275
274
//  myDebug() << "DetailedListView::removeEntries() - " << entry_->title() << endl;
276
275
 
277
 
  clearSelection();
278
276
  for(Data::EntryVecIt entry = entries_.begin(); entry != entries_.end(); ++entry) {
279
277
    delete locateItem(entry);
280
278
  }
366
364
  ensureItemVisible(item);
367
365
}
368
366
 
369
 
Tellico::DetailedEntryItem* const DetailedListView::locateItem(Data::EntryPtr entry_) {
 
367
Tellico::DetailedEntryItem* DetailedListView::locateItem(Data::EntryPtr entry_) {
370
368
  for(QListViewItemIterator it(this); it.current(); ++it) {
371
369
    DetailedEntryItem* item = static_cast<DetailedEntryItem*>(it.current());
372
370
    if(item->entry() == entry_) {
384
382
    m_headerMenu->popup(static_cast<QMouseEvent*>(ev_)->globalPos());
385
383
    return true;
386
384
  }
387
 
  return KListView::eventFilter(obj_, ev_);
 
385
  return GUI::ListView::eventFilter(obj_, ev_);
388
386
}
389
387
 
390
388
void DetailedListView::slotHeaderMenuActivated(int id_) {
533
531
  if(m_filter.data() != filter_) { // might just be updating
534
532
    m_filter = filter_;
535
533
  }
 
534
//  clearSelection();
536
535
 
537
536
  int count = 0;
538
537
  // iterate over all items
541
540
    item = static_cast<DetailedEntryItem*>(it.current());
542
541
    if(m_filter && !m_filter->matches(item->entry())) {
543
542
      item->setVisible(false);
544
 
      // don't allow hidden selected items
545
543
      setSelected(item, false);
546
544
    } else {
547
545
      item->setVisible(true);
749
747
}
750
748
 
751
749
void DetailedListView::saveConfig(Tellico::Data::CollPtr coll_, int configIndex_) {
752
 
  KConfig* config = kapp->config();
753
 
  config->setGroup(QString::fromLatin1("Options - %1").arg(coll_->typeName()));
 
750
  KConfigGroup config(kapp->config(), QString::fromLatin1("Options - %1").arg(coll_->typeName()));
754
751
 
755
752
  // all of this is to have custom settings on a per file basis
756
753
  QString configN;
757
754
  if(coll_->type() == Data::Collection::Base) {
758
755
    QValueList<ConfigInfo> info;
759
756
    for(uint i = 0; i < Config::maxCustomURLSettings(); ++i) {
760
 
      KURL u = config->readEntry(QString::fromLatin1("URL_%1").arg(i));
 
757
      KURL u = config.readEntry(QString::fromLatin1("URL_%1").arg(i));
761
758
      if(!u.isEmpty() && static_cast<int>(i) != configIndex_) {
762
759
        configN = QString::fromLatin1("_%1").arg(i);
763
760
        ConfigInfo ci;
764
 
        ci.cols      = config->readListEntry("ColumnNames" + configN);
765
 
        ci.widths    = config->readIntListEntry("ColumnWidths" + configN);
766
 
        ci.order     = config->readIntListEntry("ColumnOrder" + configN);
767
 
        ci.colSorted = config->readNumEntry("SortColumn" + configN);
768
 
        ci.ascSort   = config->readBoolEntry("SortAscending" + configN);
769
 
        ci.prevSort  = config->readNumEntry("PrevSortColumn" + configN);
770
 
        ci.prev2Sort = config->readNumEntry("Prev2SortColumn" + configN);
 
761
        ci.cols      = config.readListEntry("ColumnNames" + configN);
 
762
        ci.widths    = config.readIntListEntry("ColumnWidths" + configN);
 
763
        ci.order     = config.readIntListEntry("ColumnOrder" + configN);
 
764
        ci.colSorted = config.readNumEntry("SortColumn" + configN);
 
765
        ci.ascSort   = config.readBoolEntry("SortAscending" + configN);
 
766
        ci.prevSort  = config.readNumEntry("PrevSortColumn" + configN);
 
767
        ci.prev2Sort = config.readNumEntry("Prev2SortColumn" + configN);
771
768
        info.append(ci);
772
769
      }
773
770
    }
776
773
    for(uint i = 0; i < limit; ++i) {
777
774
      // starts at one since the current config will be written below
778
775
      configN = QString::fromLatin1("_%1").arg(i+1);
779
 
      config->writeEntry("ColumnNames"     + configN, info[i].cols);
780
 
      config->writeEntry("ColumnWidths"    + configN, info[i].widths);
781
 
      config->writeEntry("ColumnOrder"     + configN, info[i].order);
782
 
      config->writeEntry("SortColumn"      + configN, info[i].colSorted);
783
 
      config->writeEntry("SortAscending"   + configN, info[i].ascSort);
784
 
      config->writeEntry("PrevSortColumn"  + configN, info[i].prevSort);
785
 
      config->writeEntry("Prev2SortColumn" + configN, info[i].prev2Sort);
 
776
      config.writeEntry("ColumnNames"     + configN, info[i].cols);
 
777
      config.writeEntry("ColumnWidths"    + configN, info[i].widths);
 
778
      config.writeEntry("ColumnOrder"     + configN, info[i].order);
 
779
      config.writeEntry("SortColumn"      + configN, info[i].colSorted);
 
780
      config.writeEntry("SortAscending"   + configN, info[i].ascSort);
 
781
      config.writeEntry("PrevSortColumn"  + configN, info[i].prevSort);
 
782
      config.writeEntry("Prev2SortColumn" + configN, info[i].prev2Sort);
786
783
    }
787
784
    configN = QString::fromLatin1("_0");
788
785
  }
797
794
    order += header()->mapToIndex(i);
798
795
  }
799
796
 
800
 
  config->writeEntry("ColumnWidths"    + configN, widths);
801
 
  config->writeEntry("ColumnOrder"     + configN, order);
802
 
  config->writeEntry("SortColumn"      + configN, columnSorted());
803
 
  config->writeEntry("SortAscending"   + configN, ascendingSort());
804
 
  config->writeEntry("PrevSortColumn"  + configN, prevSortedColumn());
805
 
  config->writeEntry("Prev2SortColumn" + configN, prev2SortedColumn());
 
797
  config.writeEntry("ColumnWidths"    + configN, widths);
 
798
  config.writeEntry("ColumnOrder"     + configN, order);
 
799
  config.writeEntry("SortColumn"      + configN, columnSorted());
 
800
  config.writeEntry("SortAscending"   + configN, ascendingSort());
 
801
  config.writeEntry("PrevSortColumn"  + configN, prevSortedColumn());
 
802
  config.writeEntry("Prev2SortColumn" + configN, prev2SortedColumn());
806
803
 
807
804
  QStringList colNames;
808
805
  for(int col = 0; col < columns(); ++col) {
809
806
    colNames += coll_->fieldNameByTitle(columnText(col));
810
807
  }
811
 
  config->writeEntry("ColumnNames" + configN, colNames);
 
808
  config.writeEntry("ColumnNames" + configN, colNames);
812
809
}
813
810
 
814
811
QString DetailedListView::sortColumnTitle1() const {