From 75a6773eaddf70f054030dd0457234fa1a316a86 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 28 Apr 2015 17:00:41 +0000 Subject: added header font setting git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4874 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/forms/skinnedsettings.ui | 99 ++++++++++++++++--------- src/plugins/Ui/skinned/listwidget.cpp | 3 +- src/plugins/Ui/skinned/listwidgetdrawer.cpp | 2 +- src/plugins/Ui/skinned/playlistheader.cpp | 12 ++- src/plugins/Ui/skinned/playlistheader.h | 2 + src/plugins/Ui/skinned/skinnedsettings.cpp | 36 ++++++--- src/plugins/Ui/skinned/skinnedsettings.h | 4 +- 7 files changed, 108 insertions(+), 50 deletions(-) diff --git a/src/plugins/Ui/skinned/forms/skinnedsettings.ui b/src/plugins/Ui/skinned/forms/skinnedsettings.ui index 84ed72403..a896a5428 100644 --- a/src/plugins/Ui/skinned/forms/skinnedsettings.ui +++ b/src/plugins/Ui/skinned/forms/skinnedsettings.ui @@ -6,8 +6,8 @@ 0 0 - 447 - 391 + 489 + 424 @@ -131,30 +131,34 @@ Fonts - - + + - + 0 0 - - - 80 - 16777215 - + + QFrame::StyledPanel + + + QFrame::Sunken - Player: + ??? - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + ... - - + + 0 @@ -172,14 +176,41 @@ - - + + ... - + + + + Use bitmap font if available + + + + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + ??? + + + + + + + Playlist header: + + + + @@ -201,36 +232,32 @@ - - + + - + 0 0 - - QFrame::StyledPanel - - - QFrame::Sunken + + + 80 + 16777215 + - ??? + Player: - - - - - - ... + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - + + - Use bitmap font if available + ... diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index aaddcc695..8566e82e6 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -91,6 +91,7 @@ void ListWidget::readSettings() m_header->readSettings(); m_header->setVisible(ACTION(ActionManager::PL_SHOW_HEADER)->isChecked()); + m_header->setGeometry(0,0,width(), m_header->requiredHeight()); if (m_update) { @@ -247,7 +248,7 @@ void ListWidget::mousePressEvent(QMouseEvent *e) void ListWidget::resizeEvent(QResizeEvent *e) { m_resize = true; - m_header->setGeometry(0,0,width(), m_drawer.rowHeight()); + m_header->setGeometry(0,0,width(), m_header->requiredHeight()); m_resize = false; m_row_count = (e->size().height() - (m_header->isVisibleTo(this) ? m_header->height() : 0)) / m_drawer.rowHeight(); updateList(PlayListModel::STRUCTURE); diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index 43a1b7bc0..5380bfad8 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -58,7 +58,7 @@ void ListWidgetDrawer::readSettings() m_show_anchor = settings.value("pl_show_anchor", false).toBool(); m_show_number = settings.value ("pl_show_numbers", true).toBool(); m_align_numbres = settings.value ("pl_align_numbers", false).toBool(); - m_font.fromString(settings.value("pl_font", QApplication::font().toString()).toString()); + m_font.fromString(settings.value("pl_font", qApp->font().toString()).toString()); m_extra_font = m_font; m_extra_font.setPointSize(m_font.pointSize() - 1); if (m_update) diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 6698f557d..27e2439af 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -65,6 +65,7 @@ PlayListHeader::PlayListHeader(QWidget *parent) : setMouseTracking(true); m_metrics = 0; m_padding = 0; + m_pl_padding = 0; m_show_number = false; m_align_numbres = false; m_number_width = 0; @@ -110,6 +111,10 @@ void PlayListHeader::readSettings() m_align_numbres = settings.value ("pl_align_numbers", false).toBool(); m_padding = m_metrics->width("9")/2; + QFont pl_font; + pl_font.fromString(settings.value("pl_font", qApp->font().toString()).toString()); + m_pl_padding = QFontMetrics(pl_font).width("9")/2; + settings.endGroup(); updateColumns(); } @@ -131,7 +136,7 @@ void PlayListHeader::updateColumns() int sx = 5; if(m_number_width) - sx += m_number_width + 2 * m_padding; + sx += m_number_width + 2 * m_pl_padding; if(m_model->count() == 1) { @@ -171,6 +176,11 @@ void PlayListHeader::updateColumns() update(); } +int PlayListHeader::requiredHeight() const +{ + return m_metrics->lineSpacing() + 1; +} + void PlayListHeader::showSortIndicator(int column, bool reverted) { if(m_sorting_column == column && m_reverted == reverted) diff --git a/src/plugins/Ui/skinned/playlistheader.h b/src/plugins/Ui/skinned/playlistheader.h index 7bf07f741..c389ea0d5 100644 --- a/src/plugins/Ui/skinned/playlistheader.h +++ b/src/plugins/Ui/skinned/playlistheader.h @@ -46,6 +46,7 @@ public: void readSettings(); void setNumberWidth(int width); void updateColumns(); + int requiredHeight() const; public slots: void showSortIndicator(int column, bool reverted); @@ -89,6 +90,7 @@ private: int m_old_size; int m_press_offset; int m_padding; + int m_pl_padding; int m_sorting_column; enum diff --git a/src/plugins/Ui/skinned/skinnedsettings.cpp b/src/plugins/Ui/skinned/skinnedsettings.cpp index 4708867ed..7fb1b438a 100644 --- a/src/plugins/Ui/skinned/skinnedsettings.cpp +++ b/src/plugins/Ui/skinned/skinnedsettings.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2011-2014 by Ilya Kotov * + * Copyright (C) 2011-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -82,6 +82,20 @@ void SkinnedSettings::on_plFontButton_clicked() } } +void SkinnedSettings::on_headerFontButton_clicked() +{ + bool ok; + QFont font = m_ui.plFontLabel->font(); + font = QFontDialog::getFont (&ok, font, this); + if (ok) + { + m_ui.headerFontLabel->setText (font.family () + " " + QString::number(font.pointSize ())); + m_ui.headerFontLabel->setFont(font); + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); + settings.setValue ("Skinned/header_font", font.toString()); + } +} + void SkinnedSettings::on_mainFontButton_clicked() { bool ok; @@ -116,20 +130,24 @@ void SkinnedSettings::showEvent(QShowEvent *) void SkinnedSettings::loadFonts() { + QFont font; QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - QString fontname = settings.value ("Skinned/pl_font").toString(); - QFont font = QApplication::font(); - if(!fontname.isEmpty()) - font.fromString(fontname); + + QString fontname = settings.value ("Skinned/pl_font", qApp->font().toString()).toString(); + font.fromString(fontname); m_ui.plFontLabel->setText (font.family () + " " + QString::number(font.pointSize ())); m_ui.plFontLabel->setFont(font); - font = QApplication::font (); - fontname = settings.value ("Skinned/mw_font").toString(); - if(!fontname.isEmpty()) - font.fromString(fontname); + fontname = settings.value ("Skinned/header_font", qApp->font().toString()).toString(); + font.fromString(fontname); + m_ui.headerFontLabel->setText (font.family () + " " + QString::number(font.pointSize ())); + m_ui.headerFontLabel->setFont(font); + + fontname = settings.value ("Skinned/mw_font", qApp->font().toString()).toString(); + font.fromString(fontname); m_ui.mainFontLabel->setText (font.family () + " " + QString::number(font.pointSize ())); m_ui.mainFontLabel->setFont(font); + m_ui.useBitmapCheckBox->setChecked(settings.value("Skinned/bitmap_font", false).toBool()); } diff --git a/src/plugins/Ui/skinned/skinnedsettings.h b/src/plugins/Ui/skinned/skinnedsettings.h index 607278f57..47aee8504 100644 --- a/src/plugins/Ui/skinned/skinnedsettings.h +++ b/src/plugins/Ui/skinned/skinnedsettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2011-2014 by Ilya Kotov * + * Copyright (C) 2011-2015 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -36,10 +36,10 @@ public: virtual ~SkinnedSettings(); void writeSettings(); - private slots: void on_listWidget_itemClicked(QListWidgetItem *); void on_plFontButton_clicked(); + void on_headerFontButton_clicked(); void on_mainFontButton_clicked(); void on_skinInstallButton_clicked(); void loadSkins(); -- cgit v1.2.3-13-gbd6f