Constructor
| 47 | |
| 48 | //* Constructor |
| 49 | NTableView::NTableView(QWidget *parent) : |
| 50 | QTableView(parent) |
| 51 | { |
| 52 | QLOG_TRACE() << "Entering NTableView constructor"; |
| 53 | this->setSelectionBehavior(QAbstractItemView::SelectRows); |
| 54 | this->verticalHeader()->setVisible(false); |
| 55 | noteModel = new NoteModel(this); |
| 56 | |
| 57 | tableViewHeader = new NTableViewHeader(Qt::Horizontal, this); |
| 58 | this->setHorizontalHeader(tableViewHeader); |
| 59 | #if QT_VERSION < 0x050000 |
| 60 | this->horizontalHeader()->setMovable(true); |
| 61 | #else |
| 62 | this->horizontalHeader()->setSectionsMovable(true); |
| 63 | #endif |
| 64 | |
| 65 | QLOG_TRACE() << "Setting up edit triggers"; |
| 66 | this->setEditTriggers(QAbstractItemView::NoEditTriggers); |
| 67 | |
| 68 | // Set the default column height |
| 69 | QLOG_TRACE() << "Setting up fort metrics"; |
| 70 | this->verticalHeader()->setDefaultSectionSize(QApplication::fontMetrics().height()); |
| 71 | |
| 72 | QLOG_TRACE() << "Initializing proxy"; |
| 73 | this->proxy = new NoteSortFilterProxyModel(); |
| 74 | proxy->setSourceModel(model()); |
| 75 | global.settings->beginGroup("SaveState"); |
| 76 | Qt::SortOrder order = Qt::SortOrder(global.settings->value("sortOrder", 0).toInt()); |
| 77 | int col = global.settings->value("sortColumn", NOTE_TABLE_DATE_CREATED_POSITION).toInt(); |
| 78 | global.settings->endGroup(); |
| 79 | this->setSortingEnabled(true); |
| 80 | proxy->setFilterKeyColumn(NOTE_TABLE_LID_POSITION); |
| 81 | sortByColumn(col, order); |
| 82 | noteModel->sort(col,order); |
| 83 | |
| 84 | //refreshData(); |
| 85 | setModel(proxy); |
| 86 | |
| 87 | // Set the date deligates |
| 88 | QLOG_TRACE() << "Setting up table deligates"; |
| 89 | dateDelegate = new DateDelegate(); |
| 90 | blankNumber = new NumberDelegate(NumberDelegate::BlankNumber); |
| 91 | kbNumber = new NumberDelegate(NumberDelegate::KBNumber); |
| 92 | trueFalseDelegate = new TrueFalseDelegate(); |
| 93 | thumbnailDelegate = new ImageDelegate(); |
| 94 | reminderOrderDelegate = new ReminderOrderDelegate(); |
| 95 | this->setItemDelegateForColumn(NOTE_TABLE_DATE_CREATED_POSITION, dateDelegate); |
| 96 | this->setItemDelegateForColumn(NOTE_TABLE_DATE_SUBJECT_POSITION, dateDelegate); |
| 97 | this->setItemDelegateForColumn(NOTE_TABLE_DATE_UPDATED_POSITION, dateDelegate); |
| 98 | this->setItemDelegateForColumn(NOTE_TABLE_DATE_DELETED_POSITION, dateDelegate); |
| 99 | this->setItemDelegateForColumn(NOTE_TABLE_REMINDER_TIME_DONE_POSITION, dateDelegate); |
| 100 | this->setItemDelegateForColumn(NOTE_TABLE_REMINDER_TIME_POSITION, dateDelegate); |
| 101 | this->setItemDelegateForColumn(NOTE_TABLE_ALTITUDE_POSITION, blankNumber); |
| 102 | this->setItemDelegateForColumn(NOTE_TABLE_LONGITUDE_POSITION, blankNumber); |
| 103 | this->setItemDelegateForColumn(NOTE_TABLE_LATITUDE_POSITION, blankNumber); |
| 104 | this->setItemDelegateForColumn(NOTE_TABLE_SIZE_POSITION, kbNumber); |
| 105 | this->setItemDelegateForColumn(NOTE_TABLE_IS_DIRTY_POSITION, trueFalseDelegate); |
| 106 | this->setItemDelegateForColumn(NOTE_TABLE_HAS_ENCRYPTION_POSITION, trueFalseDelegate); |
nothing calls this directly
no test coverage detected