Changeset 75
- Timestamp:
- 01/16/08 21:00:16 (4 years ago)
- Location:
- gui
- Files:
-
- 4 edited
-
main_window.cpp (modified) (4 diffs)
-
main_window.h (modified) (4 diffs)
-
main_window.ui (modified) (1 diff)
-
playlisttablemodel.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gui/main_window.cpp
r74 r75 4 4 #include <QString> 5 5 #include <QKeyEvent> 6 #include <QHeaderView> 6 7 7 8 #include "main_window.h" … … 26 27 trayIcon->show(); 27 28 } 29 30 //PlaylistView 31 setupPlaylistViewHeader(); 32 setupPlaylistViewMenu(); 28 33 29 34 // Status bar … … 156 161 } 157 162 163 void MainWindow::setupPlaylistViewMenu() 164 { 165 playlistTableViewMenu = new QMenu; 166 167 QAction *albumPlaylistViewAction = new QAction(tr("Album"), trayIconMenu); 168 albumPlaylistViewAction->setCheckable(true); 169 albumPlaylistViewAction->setChecked(true); 170 QAction *artistPlaylistViewAction = new QAction(tr("Artist"), trayIconMenu); 171 artistPlaylistViewAction->setCheckable(true); 172 artistPlaylistViewAction->setChecked(true); 173 QAction *titlePlaylistViewAction = new QAction(tr("Title"), trayIconMenu); 174 titlePlaylistViewAction->setCheckable(true); 175 titlePlaylistViewAction->setChecked(true); 176 QAction *timePlaylistViewAction = new QAction(tr("Time"), trayIconMenu); 177 timePlaylistViewAction->setCheckable(true); 178 timePlaylistViewAction->setChecked(true); 179 QAction *trackPlaylistViewAction = new QAction(tr("Track"), trayIconMenu); 180 trackPlaylistViewAction->setCheckable(true); 181 trackPlaylistViewAction->setChecked(true); 182 183 playlistTableViewMenu->addAction(albumPlaylistViewAction); 184 playlistTableViewMenu->addAction(artistPlaylistViewAction); 185 playlistTableViewMenu->addAction(titlePlaylistViewAction); 186 playlistTableViewMenu->addAction(timePlaylistViewAction); 187 playlistTableViewMenu->addAction(trackPlaylistViewAction); 188 189 connect(albumPlaylistViewAction, SIGNAL(toggled(bool)), this, SLOT(playListTableViewToggleAlbum(bool))); 190 connect(artistPlaylistViewAction, SIGNAL(toggled(bool)), this, SLOT(playListTableViewToggleArtist(bool))); 191 connect(timePlaylistViewAction, SIGNAL(toggled(bool)), this, SLOT(playListTableViewToggleTime(bool))); 192 connect(trackPlaylistViewAction, SIGNAL(toggled(bool)), this, SLOT(playListTableViewToggleTrack(bool))); 193 connect(titlePlaylistViewAction, SIGNAL(toggled(bool)), this, SLOT(playListTableViewToggleTitle(bool))); 194 195 //Restore state 196 QByteArray state = settings.value("playlistTableViewHeader").toByteArray(); 197 198 //Restore 199 if (!state.isEmpty()) { 200 playlistTableViewHeader->restoreState(state); 201 if (playlistTableViewHeader->isSectionHidden(0)) 202 titlePlaylistViewAction->setChecked(false); 203 if (playlistTableViewHeader->isSectionHidden(1)) 204 trackPlaylistViewAction->setChecked(false); 205 if (playlistTableViewHeader->isSectionHidden(2)) 206 albumPlaylistViewAction->setChecked(false); 207 if (playlistTableViewHeader->isSectionHidden(3)) 208 trackPlaylistViewAction->setChecked(false); 209 if (playlistTableViewHeader->isSectionHidden(4)) 210 timePlaylistViewAction->setChecked(false); 211 } 212 } 213 214 void MainWindow::setupPlaylistViewHeader() { 215 playlistTableViewHeader = playlistTableView->horizontalHeader(); 216 217 playlistTableViewHeader->setMovable(true); 218 playlistTableViewHeader->setResizeMode(QHeaderView::Interactive); 219 playlistTableViewHeader->setContextMenuPolicy(Qt::CustomContextMenu); 220 221 connect(playlistTableViewHeader, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(playlistTableViewContextMenuClicked())); 222 } 223 158 224 void MainWindow::showPreferencesDialog() 159 225 { … … 548 614 mpd.setCrossfade(seconds); 549 615 } 616 617 void MainWindow::playlistTableViewContextMenuClicked() 618 { 619 playlistTableViewMenu->exec(QCursor::pos()); 620 } 621 622 void MainWindow::playListTableViewToggleAlbum(bool visible) 623 { 624 playlistTableViewHeader->setSectionHidden(2, !visible); 625 settings.setValue("playlistTableViewHeader", playlistTableViewHeader->saveState()); 626 } 627 628 void MainWindow::playListTableViewToggleArtist(bool visible) 629 { 630 playlistTableViewHeader->setSectionHidden(1, !visible); 631 settings.setValue("playlistTableViewHeader", playlistTableViewHeader->saveState()); 632 } 633 634 void MainWindow::playListTableViewToggleTime(bool visible) 635 { 636 playlistTableViewHeader->setSectionHidden(3, !visible); 637 settings.setValue("playlistTableViewHeader", playlistTableViewHeader->saveState()); 638 } 639 640 void MainWindow::playListTableViewToggleTrack(bool visible) 641 { 642 playlistTableViewHeader->setSectionHidden(4, !visible); 643 settings.setValue("playlistTableViewHeader", playlistTableViewHeader->saveState()); 644 } 645 646 void MainWindow::playListTableViewToggleTitle(bool visible) 647 { 648 playlistTableViewHeader->setSectionHidden(0, !visible); 649 settings.setValue("playlistTableViewHeader", playlistTableViewHeader->saveState()); 650 } -
gui/main_window.h
r74 r75 7 7 #include <QSystemTrayIcon> 8 8 #include <QMenu> 9 #include <QHeaderView> 9 10 10 11 #include "ui_main_window.h" … … 43 44 QIcon icon; 44 45 QLabel bitrateLabel; 46 QHeaderView *playlistTableViewHeader; 45 47 46 48 bool setupTrayIcon(); 49 void setupPlaylistViewMenu(); 50 void setupPlaylistViewHeader(); 47 51 QAction *playPauseAction; 48 52 QAction *stopAction; … … 53 57 QMenu *trayIconMenu; 54 58 QString toolTipText; 59 QMenu *playlistTableViewMenu; 55 60 56 61 private slots: … … 81 86 void trayIconClicked(QSystemTrayIcon::ActivationReason reason); 82 87 void crossfadingChanged(int seconds); 88 void playlistTableViewContextMenuClicked(); 89 90 void playListTableViewToggleAlbum(bool visible); 91 void playListTableViewToggleArtist(bool visible); 92 void playListTableViewToggleTrack(bool visible); 93 void playListTableViewToggleTime(bool visible); 94 void playListTableViewToggleTitle(bool visible); 83 95 }; 84 96 -
gui/main_window.ui
r74 r75 428 428 <item> 429 429 <widget class="QTableView" name="playlistTableView" > 430 <property name="contextMenuPolicy" > 431 <enum>Qt::CustomContextMenu</enum> 432 </property> 430 433 <property name="alternatingRowColors" > 431 434 <bool>true</bool> -
gui/playlisttablemodel.cpp
r52 r75 1 1 #include <QPalette> 2 #include <QModelIndex> 2 3 3 4 #include "playlisttablemodel.h" … … 22 23 return "Album"; 23 24 break; 25 case 3: 26 return "Track"; 27 break; 28 case 4: 29 return "Time"; 30 break; 24 31 default: 25 32 break; … … 37 44 int PlaylistTableModel::columnCount(const QModelIndex &) const 38 45 { 39 return 3;46 return 5; 40 47 } 41 48 … … 66 73 case 2: 67 74 return song->album; 75 break; 76 case 3: 77 return song->track; 78 break; 79 case 4: 80 return song->time; 68 81 break; 69 82 default:
Note: See TracChangeset
for help on using the changeset viewer.
