]> git.sur5r.net Git - minitube/blobdiff - src/sidebarwidget.cpp
Merge tag 'upstream/2.4'
[minitube] / src / sidebarwidget.cpp
index ceae1503a2c06b0cdaf571fac3aa048129c4201e..fd5fd40acdc672a56a5919e64767e7c454abbe75 100644 (file)
@@ -1,12 +1,33 @@
+/* $BEGIN_LICENSE
+
+This file is part of Minitube.
+Copyright 2009, Flavio Tordini <flavio.tordini@gmail.com>
+
+Minitube is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Minitube is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Minitube.  If not, see <http://www.gnu.org/licenses/>.
+
+$END_LICENSE */
+
 #include "sidebarwidget.h"
 #include "refinesearchbutton.h"
 #include "refinesearchwidget.h"
-#ifndef Q_WS_X11
+#include "sidebarheader.h"
+#ifdef APP_EXTRA
 #include "extra.h"
 #endif
 
 namespace The {
-QMap<QString, QAction*>* globalActions();
+QHash<QString, QAction*>* globalActions();
 }
 
 SidebarWidget::SidebarWidget(QWidget *parent) :
@@ -14,9 +35,12 @@ SidebarWidget::SidebarWidget(QWidget *parent) :
     playlist = 0;
 
     QBoxLayout *layout = new QVBoxLayout(this);
-    layout->setSpacing(1);
+    layout->setSpacing(0);
     layout->setMargin(0);
 
+    sidebarHeader = new SidebarHeader();
+    layout->addWidget(sidebarHeader);
+
     // hidden message widget
     messageLabel = new QLabel(this);
     messageLabel->setMargin(10);
@@ -40,10 +64,6 @@ SidebarWidget::SidebarWidget(QWidget *parent) :
 }
 
 void SidebarWidget::setup() {
-    static bool isSetup = false;
-    if (isSetup) return;
-    isSetup = true;
-
     refineSearchButton = new RefineSearchButton(this);
     refineSearchButton->setStatusTip(tr("Refine Search")
                                      + " (" + QKeySequence(Qt::CTRL + Qt::Key_R).toString(QKeySequence::NativeText) + ")");
@@ -68,15 +88,16 @@ void SidebarWidget::setPlaylist(QListView *playlist) {
 }
 
 void SidebarWidget::showPlaylist() {
-    setup();
     stackedWidget->setCurrentWidget(playlist);
+    The::globalActions()->value("refine-search")->setChecked(false);
 }
 
 void SidebarWidget::showRefineSearchWidget() {
+    if (!refineSearchWidget->isEnabled()) return;
     refineSearchWidget->setDirty(false);
     stackedWidget->setCurrentWidget(refineSearchWidget);
-    refineSearchWidget->setFocus();
-#ifndef Q_WS_X11
+    // refineSearchWidget->setFocus();
+#ifdef APP_EXTRA
     Extra::fadeInWidget(playlist, refineSearchWidget);
 #endif
     refineSearchButton->hide();
@@ -86,7 +107,7 @@ void SidebarWidget::showRefineSearchWidget() {
 void SidebarWidget::hideRefineSearchWidget() {
     stackedWidget->setCurrentWidget(playlist);
     playlist->setFocus();
-#ifndef Q_WS_X11
+#ifdef APP_EXTRA
     Extra::fadeInWidget(refineSearchWidget, playlist);
 #endif
     The::globalActions()->value("refine-search")->setChecked(false);
@@ -131,6 +152,7 @@ void SidebarWidget::handleMouseMove() {
 }
 
 void SidebarWidget::showRefineSearchButton() {
+    if (!refineSearchWidget->isEnabled()) return;
     refineSearchButton->move(
                 playlist->viewport()->width() - refineSearchButton->minimumWidth(),
                 height() - refineSearchButton->minimumHeight());