diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/loginform.cpp | 27 | ||||
-rw-r--r-- | src/loginform.ui | 294 |
2 files changed, 209 insertions, 112 deletions
diff --git a/src/loginform.cpp b/src/loginform.cpp index f6c438d..b193cb1 100644 --- a/src/loginform.cpp +++ b/src/loginform.cpp @@ -10,9 +10,11 @@ #include <QAbstractListModel> #include <QModelIndex> #include <QPixmap> +#include <QIcon> #include <QMessageBox> #include <QMenu> #include <QListView> +#include <QSvgRenderer> #include <iostream> @@ -49,14 +51,25 @@ void LoginForm::setFocus(Qt::FocusReason reason) void LoginForm::initialize() { - // fallback to built-in bwlp logo - QPixmap icon(":/resources/bwlp.svg"); // This project came from Razor-qt - if (!Settings::miniIconFile().isNull() && !Settings::miniIconFile().isEmpty()) { - QPixmap configuredIcon(Settings::miniIconFile()); - if (!configuredIcon.isNull()) - icon = configuredIcon; + QString path = Settings::miniIconFile(); + QPixmap pixmap; + if (!path.isEmpty()) { + QSize size = QSvgRenderer(path).defaultSize(); + if (!size.isValid()) { + size = ui->iconLabel->maximumSize(); + } else { + QSize o(ui->iconLabel->maximumSize()); + size = QSize(qMin(size.width(), o.width()), qMin(size.height(), o.height())); + } + pixmap = QIcon(path).pixmap(size); } - ui->iconLabel->setPixmap(icon.scaled(ui->iconLabel->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); + if (pixmap.isNull() || pixmap.width() < 10) { + // fallback to built-in bwlp logo + pixmap = QIcon(QLatin1String(":/resources/bwlp.svg")).pixmap(ui->iconLabel->size()); + } + + ui->iconLabel->setPixmap(pixmap); + ui->iconLabel->setFixedSize(pixmap.size()); ui->leaveComboBox->setView(new QListView()); // This is required to get the stylesheet to apply diff --git a/src/loginform.ui b/src/loginform.ui index 10f7105..3ad728a 100644 --- a/src/loginform.ui +++ b/src/loginform.ui @@ -6,10 +6,16 @@ <rect> <x>0</x> <y>0</y> - <width>367</width> - <height>270</height> + <width>386</width> + <height>439</height> </rect> </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="font"> <font> <family>Andale Mono</family> @@ -74,88 +80,130 @@ QComboBox QAbstractItemView::item { <item> <widget class="QFrame" name="formFrame"> <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <layout class="QGridLayout" name="gridLayout"> - <property name="bottomMargin"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="topMargin"> <number>9</number> </property> - <property name="verticalSpacing"> - <number>8</number> + <property name="rightMargin"> + <number>9</number> </property> - <item row="0" column="0"> - <widget class="QLabel" name="hostnameLabel"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>60</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>10000</width> - <height>60</height> - </size> - </property> - <property name="font"> - <font> - <family>Bitstream Vera Sans</family> - <pointsize>14</pointsize> - <weight>50</weight> - <italic>true</italic> - <bold>false</bold> - </font> - </property> - <property name="text"> - <string>Hostname</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - <property name="margin"> - <number>0</number> - </property> - <property name="indent"> - <number>10</number> + <property name="bottomMargin"> + <number>9</number> + </property> + <item> + <widget class="QFrame" name="frame"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - </widget> - </item> - <item row="5" column="1"> - <widget class="QComboBox" name="leaveComboBox"> <property name="minimumSize"> <size> - <width>80</width> - <height>30</height> + <width>0</width> + <height>50</height> </size> </property> - <property name="maximumSize"> - <size> - <width>80</width> - <height>30</height> - </size> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> </property> - <property name="focusPolicy"> - <enum>Qt::NoFocus</enum> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> </property> - <item> - <property name="text"> - <string/> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> </property> - <property name="icon"> - <iconset resource="../qt-lightdm-greeter.qrc"> - <normaloff>:/resources/leaveIcon.svg</normaloff>:/resources/leaveIcon.svg</iconset> + <property name="rightMargin"> + <number>0</number> </property> - </item> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QLabel" name="hostnameLabel"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>60</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>10000</width> + <height>60</height> + </size> + </property> + <property name="font"> + <font> + <family>Bitstream Vera Sans</family> + <pointsize>14</pointsize> + <weight>50</weight> + <italic>true</italic> + <bold>false</bold> + </font> + </property> + <property name="text"> + <string>Hostname</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="margin"> + <number>0</number> + </property> + <property name="indent"> + <number>10</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="iconLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>10</width> + <height>50</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>128</width> + <height>128</height> + </size> + </property> + <property name="text"> + <string notr="true"/> + </property> + <property name="pixmap"> + <pixmap resource="../qt-lightdm-greeter.qrc">:/resources/bwlp.svg</pixmap> + </property> + </widget> + </item> + </layout> </widget> </item> - <item row="1" column="0" colspan="2"> + <item> <widget class="QLineEdit" name="userInput"> <property name="minimumSize"> <size> - <width>200</width> + <width>350</width> <height>60</height> </size> </property> @@ -181,11 +229,11 @@ QComboBox QAbstractItemView::item { </property> </widget> </item> - <item row="3" column="0" colspan="2"> + <item> <widget class="QLineEdit" name="passwordInput"> <property name="minimumSize"> <size> - <width>0</width> + <width>350</width> <height>60</height> </size> </property> @@ -223,48 +271,84 @@ QComboBox QAbstractItemView::item { </property> </widget> </item> - <item row="0" column="1"> - <widget class="QLabel" name="iconLabel"> - <property name="minimumSize"> - <size> - <width>80</width> - <height>50</height> - </size> + <item> + <widget class="QFrame" name="frame_2"> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> </property> - <property name="maximumSize"> - <size> - <width>80</width> - <height>50</height> - </size> - </property> - <property name="text"> - <string/> - </property> - <property name="pixmap"> - <pixmap resource="../qt-lightdm-greeter.qrc">:/resources/bwlp.svg</pixmap> - </property> - <property name="scaledContents"> - <bool>true</bool> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="5" column="0"> - <widget class="QLabel" name="messageLabel"> - <property name="minimumSize"> - <size> - <width>200</width> - <height>30</height> - </size> - </property> - <property name="autoFillBackground"> - <bool>false</bool> - </property> - <property name="text"> - <string notr="true"/> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> </property> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QLabel" name="messageLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>200</width> + <height>30</height> + </size> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="text"> + <string notr="true"/> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="leaveComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>80</width> + <height>30</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>80</width> + <height>30</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <item> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../qt-lightdm-greeter.qrc"> + <normaloff>:/resources/leaveIcon.svg</normaloff>:/resources/leaveIcon.svg</iconset> + </property> + </item> + </widget> + </item> + </layout> </widget> </item> </layout> |