From d310b1f58a2661c62b1fef33a05118385119b08a Mon Sep 17 00:00:00 2001 From: Nikolay Tischenko Date: Sat, 30 Oct 2010 15:41:44 +0700 Subject: [PATCH] Imroved custom menu request --- resources/black/arrow_r.png | Bin 0 -> 5751 bytes resources/resources.qrc | 2 ++ resources/white/arrow_r.png | Bin 0 -> 5741 bytes src/playerform.cpp | 23 ++++++++--------------- src/playerform.h | 1 - src/trackrenderer.cpp | 29 ++++++++++++++++------------- src/trackrenderer.h | 5 +++++ 7 files changed, 31 insertions(+), 29 deletions(-) create mode 100644 resources/black/arrow_r.png create mode 100644 resources/white/arrow_r.png diff --git a/resources/black/arrow_r.png b/resources/black/arrow_r.png new file mode 100644 index 0000000000000000000000000000000000000000..ecaa5d326674382a85ec2e08b02adcc87cd2cc67 GIT binary patch literal 5751 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/update-pls.png black/update-all.png black/update-pls.png + white/arrow_r.png + black/arrow_r.png diff --git a/resources/white/arrow_r.png b/resources/white/arrow_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed8f53c3eeeee5d1729471edf0f216e14f91540 GIT binary patch literal 5741 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 p`*4x3kswb_7$6i0{G;LPdLU?|setItem(i, 1, new QStandardItem(t)); - _model->setItem(i, 0, new QStandardItem("")); } } @@ -113,7 +112,6 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) : connect(ui->libraryButton, SIGNAL(clicked()), this, SLOT(_library())); connect(ui->viewButton, SIGNAL(clicked()), this, SLOT(_toggle_view())); connect(ui->playlistView, SIGNAL(activated(QModelIndex)), this, SLOT(_process_click(QModelIndex))); - connect(ui->playlistView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(_process_dbl_click(QModelIndex))); connect(ui->playpauseButton, SIGNAL(clicked()), _player, SLOT(toggle())); connect(ui->nextButton, SIGNAL(clicked()), _player, SLOT(next())); connect(ui->stopButton, SIGNAL(clicked()), _player, SLOT(stop())); @@ -197,8 +195,6 @@ void PlayerForm::_process_click(QModelIndex index) { } else { _custom_context_menu_requested(ui->playlistView->rect().center()); } -// ui->playlistView->hide(); -// ui->playlistView->show(); } void PlayerForm::_track_changed(Track track) { @@ -314,15 +310,15 @@ void PlayerForm::search(QString pattern) { } void PlayerForm::nextItem() { - QString data = _model->index(_search_current_id, 0).data().toString(); + QString data = _model->index(_search_current_id, 1).data().toString(); for (int i = _search_current_id+1; i < _model->rowCount(); i++) { - data = _model->index(i, 0).data().toString(); + data = _model->index(i, 1).data().toString(); if (data.contains(_search_pattern, Qt::CaseInsensitive)) { _search_current_id = i; break; } } - QModelIndex id = _model->index(_search_current_id, 0); + QModelIndex id = _model->index(_search_current_id, 1); _track_renderer->setSearchRow(_search_current_id); ui->playlistView->scrollTo(id); ui->playlistView->hide(); @@ -330,15 +326,15 @@ void PlayerForm::nextItem() { } void PlayerForm::prevItem() { - QString data = _model->index(_search_current_id, 0).data().toString(); + QString data = _model->index(_search_current_id, 1).data().toString(); for (int i = _search_current_id-1; i >= 0; i--) { - data = _model->index(i, 0).data().toString(); + data = _model->index(i, 1).data().toString(); if (data.contains(_search_pattern, Qt::CaseInsensitive)) { _search_current_id = i; break; } } - QModelIndex id = _model->index(_search_current_id, 0); + QModelIndex id = _model->index(_search_current_id, 1); _track_renderer->setSearchRow(_search_current_id); ui->playlistView->scrollTo(id); ui->playlistView->hide(); @@ -348,7 +344,7 @@ void PlayerForm::prevItem() { void PlayerForm::cancelSearch() { _search_pattern = ""; _track_renderer->setSearchRow(-1); - ui->playlistView->scrollTo(_model->index(_track_renderer->activeRow(), 0)); + ui->playlistView->scrollTo(_model->index(_track_renderer->activeRow(), 1)); ui->playlistView->hide(); ui->playlistView->show(); } @@ -525,6 +521,7 @@ void PlayerForm::updateIcons() { Config config; _icons_theme = config.getValue("ui/iconstheme").toString(); _tools_widget->updateIcons(); + _track_renderer->updateIcons(); ui->libraryButton->setIcon(QIcon(":/icons/"+_icons_theme+"/library.png")); if (_tools_widget->isVisible()) { ui->moreButton->setIcon(QIcon(landscape ? ":/icons/" + _icons_theme + "/unmore.png" : ":/icons/" + _icons_theme + "/more.png")); @@ -578,7 +575,3 @@ void PlayerForm::play(Track track) { _player->play(); } } - -void PlayerForm::_process_dbl_click(QModelIndex) { - _custom_context_menu_requested(ui->playlistView->rect().center()); -} diff --git a/src/playerform.h b/src/playerform.h index 05555ca..8ed8da2 100644 --- a/src/playerform.h +++ b/src/playerform.h @@ -83,7 +83,6 @@ private slots: void _library(); void _toggle_view(); void _process_click(QModelIndex); - void _process_dbl_click(QModelIndex); void _track_changed(Track); void _tick(int, int); void _slider_released(); diff --git a/src/trackrenderer.cpp b/src/trackrenderer.cpp index 18aa89c..e443d3b 100644 --- a/src/trackrenderer.cpp +++ b/src/trackrenderer.cpp @@ -32,13 +32,25 @@ TrackRenderer::TrackRenderer(QObject *parent) : { Config config; _icons_theme = config.getValue("ui/iconstheme").toString(); + _apen = QPen(QColor::fromRgb(255, 255, 255, 128)); + _spen = QPen(QColor::fromRgb(100, 150, 220)); + _sspen = QPen(QColor::fromRgb(100, 220, 150)); + +} + +void TrackRenderer::updateIcons() { + Config config; + _icons_theme = config.getValue("ui/iconstheme").toString(); } void TrackRenderer::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { if (index.column() == 0) { int x1, y1, x2, y2; option.rect.getCoords(&x1, &y1, &x2, &y2); - painter->drawImage(x1, y1 + 5, QImage(":/icons/"+_icons_theme+"/more_l.png")); + QImage image(":/icons/"+_icons_theme+"/arrow_r.png"); + x1 += (x2 - x1 - image.width())/2; + y1 += (y2 - y1 - image.width())/2; + painter->drawImage(x1, y1, image); } else { QString value = index.data().toString(); QStringList meta = value.split("#_#"); @@ -50,20 +62,13 @@ void TrackRenderer::paint(QPainter *painter, const QStyleOptionViewItem &option, option.rect.getCoords(&x1, &y1, &x2, &y2); QPen pen = painter->pen(); - QPen npen (QColor::fromRgb(80, 130, 255, 50)); - QPen apen (QColor::fromRgb(255, 255, 255, 128)); - QPen spen (QColor::fromRgb(100, 150, 220)); - QPen sspen (QColor::fromRgb(100, 220, 150)); - f.setBold(false); - painter->setPen(npen); - painter->drawLine(x1, y1, x2, y1); if (index.row() == _search_row) { f.setBold(true); - painter->setPen(sspen); + painter->setPen(_sspen); } else if (index.row() == _active_row) { f.setBold(true); - painter->setPen(spen); + painter->setPen(_spen); } else { painter->setPen(pen); } @@ -72,11 +77,9 @@ void TrackRenderer::paint(QPainter *painter, const QStyleOptionViewItem &option, fp.setBold(false); fp.setPointSize(f.pointSize()*3/4); painter->setFont(fp); - painter->setPen(apen); + painter->setPen(_apen); painter->drawText(x1+10, y1 + 3*(y2-y1)/5, (x2-x1)-100, 2*fp.pointSize(), Qt::AlignAbsolute, QString("%1 (%2)").arg(meta[2]).arg(meta[1])); painter->drawText(x2-60, y1 + 3*(y2-y1)/5, 55, 2*fp.pointSize(), Qt::AlignAbsolute, QString("%1").arg(meta[3])); - painter->setPen(npen); - painter->drawLine(x1, y2, x2, y2); painter->setFont(f); painter->setPen(pen); } diff --git a/src/trackrenderer.h b/src/trackrenderer.h index 620ac98..8909a76 100644 --- a/src/trackrenderer.h +++ b/src/trackrenderer.h @@ -23,6 +23,7 @@ #include #include "abstractitemrenderer.h" #include +#include #include "someplayer.h" class TrackRenderer : public AbstractItemRenderer @@ -35,9 +36,13 @@ public: QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; + void updateIcons(); private: QString _icons_theme; + QPen _apen; + QPen _spen; + QPen _sspen; }; #endif // TRACKRENDERER_H -- 1.7.9.5