DOnt use messagewidget - takes too much space. Show an icon and label instead.

This commit is contained in:
craig.p.drummond
2013-02-08 21:15:23 +00:00
committed by craig.p.drummond
parent a10cc743a2
commit f290d8631c
4 changed files with 61 additions and 33 deletions

View File

@@ -77,10 +77,12 @@ DynamicPage::DynamicPage(MainWindow *p)
connect(Dynamic::self(), SIGNAL(loadedList()), view, SLOT(hideSpinner()));
#ifdef Q_OS_WIN
infoMsg->setWordWrap(true);
int iconSize=Icon::stdSize(QApplication::fontMetrics().height());
infoIcon->setPixmap(Icon("error").pixmap(iconSize, iconSize));
setEnabled(false);
#else
infoMsg->setVisible(false);
infoLabel->setVisible(false);
infoIcon->setVisible(false);
refreshBtn->setVisible(false);
#endif
stopAction->setEnabled(false);
@@ -119,11 +121,8 @@ void DynamicPage::controlActions()
void DynamicPage::dynamicUrlChanged(const QString &url)
{
#ifdef Q_OS_WIN
if (url.isEmpty()) {
infoMsg->setError(i18n("No dynamizer port defined in server settings. Dynamic functionality disabled."));
} else {
infoMsg->setVisible(false);
}
infoLabel->setVisible(url.isEmpty());
infoIcon->setVisible(url.isEmpty());
setEnabled(!url.isEmpty());
#else
refreshBtn->setVisible(!url.isEmpty());

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>214</width>
<height>147</height>
<width>318</width>
<height>322</height>
</rect>
</property>
<property name="windowTitle">
@@ -18,10 +18,27 @@
<number>0</number>
</property>
<item row="0" column="0" colspan="7">
<widget class="MessageWidget" name="infoMsg"/>
<widget class="ItemView" name="view"/>
</item>
<item row="1" column="0" colspan="7">
<widget class="ItemView" name="view"/>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="infoIcon"/>
</item>
<item>
<widget class="SqueezedTextLabel" name="infoLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>No dynamizer port defined in server settings.</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QToolButton" name="refreshBtn"/>
@@ -63,10 +80,9 @@
<header>itemview.h</header>
</customwidget>
<customwidget>
<class>MessageWidget</class>
<extends>QFrame</extends>
<header>messagewidget.h</header>
<container>1</container>
<class>SqueezedTextLabel</class>
<extends>QLabel</extends>
<header>squeezedtextlabel.h</header>
</customwidget>
</customwidgets>
<resources/>

View File

@@ -308,8 +308,10 @@ StreamsPage::StreamsPage(MainWindow *p)
view->init(p->replacePlayQueueAction, 0);
memset(jobs, 0, sizeof(QNetworkReply *)*WS_Count);
infoMsg->hide();
infoMsg->setWordWrap(true);
infoLabel->hide();
infoIcon->hide();
int iconSize=Icon::stdSize(QApplication::fontMetrics().height());
infoIcon->setPixmap(Icon("locked").pixmap(iconSize, iconSize));
}
StreamsPage::~StreamsPage()
@@ -342,9 +344,12 @@ void StreamsPage::checkWriteable()
bool isHttp=StreamsModel::dir().startsWith("http:/");
bool dirWritable=!isHttp && QFileInfo(StreamsModel::dir()).isWritable();
if (dirWritable) {
infoMsg->hide();
} else if (!isHttp) {
infoMsg->setInformation(i18n("Music folder is not writable. Adding/editing streams is disabled."));
infoLabel->hide();
infoIcon->hide();
} else {
infoLabel->setVisible(true);
infoLabel->setText(isHttp ? i18n("Streams from HTTP server") : i18n("Music folder not writeable."));
infoIcon->setVisible(true);
}
if (dirWritable!=StreamsModel::self()->isWritable()) {
StreamsModel::self()->setWritable(dirWritable);

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>253</width>
<height>157</height>
<width>310</width>
<height>387</height>
</rect>
</property>
<property name="windowTitle">
@@ -18,10 +18,24 @@
<number>0</number>
</property>
<item row="0" column="0" colspan="3">
<widget class="MessageWidget" name="infoMsg"/>
<widget class="ItemView" name="view"/>
</item>
<item row="1" column="0" colspan="3">
<widget class="ItemView" name="view"/>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="infoIcon"/>
</item>
<item>
<widget class="SqueezedTextLabel" name="infoLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="GenreCombo" name="genreCombo"/>
@@ -40,21 +54,15 @@
<extends>QTreeView</extends>
<header>itemview.h</header>
</customwidget>
<customwidget>
<class>LineEdit</class>
<extends>QLineEdit</extends>
<header>lineedit.h</header>
</customwidget>
<customwidget>
<class>GenreCombo</class>
<extends>QComboBox</extends>
<header>genrecombo.h</header>
</customwidget>
<customwidget>
<class>MessageWidget</class>
<extends>QFrame</extends>
<header>messagewidget.h</header>
<container>1</container>
<class>SqueezedTextLabel</class>
<extends>QLabel</extends>
<header>squeezedtextlabel.h</header>
</customwidget>
</customwidgets>
<resources/>