Merging upstream version 0.9.0+20150807.
This commit is contained in:
parent
679dac9087
commit
d826353e22
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 2.8.11)
|
||||
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
|
||||
|
||||
project(lxqt-notificationd)
|
||||
|
||||
@ -7,6 +7,7 @@ option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" O
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
find_package(Qt5Widgets REQUIRED QUIET)
|
||||
find_package(Qt5DBus REQUIRED QUIET)
|
||||
@ -14,11 +15,9 @@ find_package(Qt5LinguistTools REQUIRED QUIET)
|
||||
find_package(KF5WindowSystem REQUIRED QUIET)
|
||||
|
||||
find_package(lxqt REQUIRED QUIET)
|
||||
find_package(qt5xdg REQUIRED)
|
||||
|
||||
include(${LXQT_USE_FILE})
|
||||
include(${QTXDG_USE_FILE})
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(LXQtCompilerSettings NO_POLICY_SCOPE)
|
||||
include(LXQtTranslate)
|
||||
|
||||
add_subdirectory(src)
|
||||
|
@ -1,10 +1,5 @@
|
||||
project(lxqt-config-notificationd)
|
||||
|
||||
include_directories (
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
)
|
||||
|
||||
set(NOTIFICATIONS_CONF_SRC
|
||||
advancedsettings.cpp
|
||||
basicsettings.cpp
|
||||
@ -19,8 +14,9 @@ set(NOTIFICATIONS_CONF_UI
|
||||
|
||||
|
||||
# Translations **********************************
|
||||
lxqt_translate_ts(NOTIFICATIONS_CONF_QM SOURCES
|
||||
lxqt_translate_ts(NOTIFICATIONS_CONF_QM
|
||||
UPDATE_TRANSLATIONS ${UPDATE_TRANSLATIONS}
|
||||
SOURCES
|
||||
${NOTIFICATIONS_CONF_MOC}
|
||||
${NOTIFICATIONS_CONF_SRC}
|
||||
${NOTIFICATIONS_CONF_UI}
|
||||
@ -31,11 +27,9 @@ lxqt_app_translation_loader(QM_LOADER ${PROJECT_NAME})
|
||||
lxqt_translate_desktop(DESKTOP_FILES SOURCES lxqt-config-notificationd.desktop.in)
|
||||
#************************************************
|
||||
|
||||
qt5_wrap_ui(NOTIFICATIONS_CONF_UI_CPP ${NOTIFICATIONS_CONF_UI})
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
${NOTIFICATIONS_CONF_SRC}
|
||||
${NOTIFICATIONS_CONF_UI_CPP}
|
||||
${NOTIFICATIONS_CONF_QM}
|
||||
${DESKTOP_FILES}
|
||||
${QM_LOADER}
|
||||
@ -44,8 +38,16 @@ add_executable(${PROJECT_NAME}
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
KF5::WindowSystem
|
||||
Qt5::Widgets
|
||||
${LXQT_LIBRARIES}
|
||||
lxqt
|
||||
)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
|
||||
install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")
|
||||
install(TARGETS
|
||||
${PROJECT_NAME}
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
install(FILES
|
||||
${DESKTOP_FILES}
|
||||
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
@ -92,6 +92,9 @@
|
||||
<property name="suffix">
|
||||
<string> sec</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>7200</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -39,28 +39,26 @@ BasicSettings::BasicSettings(LxQt::Settings* settings, QWidget *parent) :
|
||||
|
||||
restoreSettings();
|
||||
|
||||
connect(topLeftButton, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(topRightButton, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(bottomRightButton, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(bottomLeftButton, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(topLeftRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(topCenterRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(topRightRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(centerLeftRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(centerCenterRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(centerRightRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(bottomLeftRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(bottomCenterRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
connect(bottomRightRB, SIGNAL(clicked()), this, SLOT(updateNotification()));
|
||||
|
||||
LxQt::Notification serverTest;
|
||||
QString serverName = serverTest.serverInfo().name;
|
||||
if (serverName != "lxqt-notificationd")
|
||||
{
|
||||
if (serverName.isEmpty())
|
||||
{
|
||||
warningLabel->setText(tr(
|
||||
"<b>Warning:</b> No notifications daemon is running.\n"
|
||||
"A fallback will be used."));
|
||||
}
|
||||
warningLabel->setText(tr("<b>Warning:</b> No notifications daemon is running.\n"
|
||||
"A fallback will be used."));
|
||||
else
|
||||
{
|
||||
warningLabel->setText(tr(
|
||||
"<b>Warning:</b> A third-party notifications daemon (%1) is running.\n"
|
||||
"These settings won't have any effect on it!"
|
||||
).arg(serverName));
|
||||
}
|
||||
warningLabel->setText(tr("<b>Warning:</b> A third-party notifications daemon (%1) is running.\n"
|
||||
"These settings won't have any effect on it!").arg(serverName));
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,33 +68,53 @@ BasicSettings::~BasicSettings()
|
||||
|
||||
void BasicSettings::restoreSettings()
|
||||
{
|
||||
QString placement = mSettings->value("placement", "bottom-right").toString().toLower();
|
||||
if (placement == "bottom-right")
|
||||
bottomRightButton->setChecked(true);
|
||||
else if (placement == "bottom-left")
|
||||
bottomLeftButton->setChecked(true);
|
||||
else if (placement == "top-right")
|
||||
topRightButton->setChecked(true);
|
||||
else if (placement == "top-left")
|
||||
topLeftButton->setChecked(true);
|
||||
else
|
||||
bottomRightButton->setChecked(true);
|
||||
QString placement = mSettings->value(QStringLiteral("placement"),
|
||||
QStringLiteral("bottom-right")).toString().toLower();
|
||||
|
||||
if (QStringLiteral("top-left") == placement)
|
||||
topLeftRB->setChecked(true);
|
||||
else if (QStringLiteral("top-center") == placement)
|
||||
topCenterRB->setChecked(true);
|
||||
else if (QStringLiteral("top-right") == placement)
|
||||
topRightRB->setChecked(true);
|
||||
else if (QStringLiteral("center-left") == placement)
|
||||
centerLeftRB->setChecked(true);
|
||||
else if (QStringLiteral("center-center") == placement)
|
||||
centerCenterRB->setChecked(true);
|
||||
else if (QStringLiteral("center-right") == placement)
|
||||
centerRightRB->setChecked(true);
|
||||
else if (QStringLiteral("bottom-left") == placement)
|
||||
bottomLeftRB->setChecked(true);
|
||||
else if (QStringLiteral("bottom-center") == placement)
|
||||
bottomCenterRB->setChecked(true);
|
||||
else if (QStringLiteral("bottom-right") == placement)
|
||||
bottomRightRB->setChecked(true);
|
||||
}
|
||||
|
||||
void BasicSettings::updateNotification()
|
||||
{
|
||||
if (bottomRightButton->isChecked())
|
||||
mSettings->setValue("placement", "bottom-right");
|
||||
else if (bottomLeftButton->isChecked())
|
||||
mSettings->setValue("placement", "bottom-left");
|
||||
else if (topRightButton->isChecked())
|
||||
mSettings->setValue("placement", "top-right");
|
||||
else if (topLeftButton->isChecked())
|
||||
mSettings->setValue("placement", "top-left");
|
||||
QString align;
|
||||
if (topLeftRB->isChecked())
|
||||
align = QStringLiteral("top-left");
|
||||
else if (topCenterRB->isChecked())
|
||||
align = QStringLiteral("top-center");
|
||||
else if (topRightRB->isChecked())
|
||||
align = QStringLiteral("top-right");
|
||||
else if (centerLeftRB->isChecked())
|
||||
align = QStringLiteral("center-left");
|
||||
else if (centerCenterRB->isChecked())
|
||||
align = QStringLiteral("center-center");
|
||||
else if (centerRightRB->isChecked())
|
||||
align = QStringLiteral("center-right");
|
||||
else if (bottomLeftRB->isChecked())
|
||||
align = QStringLiteral("bottom-left");
|
||||
else if (bottomCenterRB->isChecked())
|
||||
align = QStringLiteral("bottom-center");
|
||||
else // if (bottomRightRB->isChecked())
|
||||
align = QStringLiteral("bottom-right");
|
||||
|
||||
LxQt::Notification::notify(//"lxqt-config-notificationd",
|
||||
tr("Notification demo"),
|
||||
tr("This is a test notification.\n"
|
||||
"All notifications will now appear here on LXQt."),
|
||||
"lxqt-logo.png");
|
||||
mSettings->setValue(QStringLiteral("placement"), align);
|
||||
LxQt::Notification::notify(tr("Notification demo ") + align,
|
||||
tr("This is a test notification.\n All notifications will now appear here on LXQt."),
|
||||
QStringLiteral("lxqt-logo.png"));
|
||||
}
|
||||
|
@ -6,12 +6,12 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>244</width>
|
||||
<height>218</height>
|
||||
<width>148</width>
|
||||
<height>179</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
@ -24,44 +24,144 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Position on screen</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="topLeftButton">
|
||||
<item row="2" column="4">
|
||||
<widget class="QRadioButton" name="bottomRightRB">
|
||||
<property name="text">
|
||||
<string>Top/Left</string>
|
||||
<string/>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QRadioButton" name="centerRightRB">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QRadioButton" name="centerCenterRB">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QRadioButton" name="topRightButton">
|
||||
<property name="text">
|
||||
<string>Top/Right</string>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QRadioButton" name="topCenterRB">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QRadioButton" name="bottomCenterRB">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="topLeftRB">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QRadioButton" name="topRightRB">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QRadioButton" name="bottomLeftButton">
|
||||
<widget class="QRadioButton" name="centerLeftRB">
|
||||
<property name="text">
|
||||
<string>Bottom/Left</string>
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QRadioButton" name="bottomRightButton">
|
||||
<item row="2" column="0">
|
||||
<widget class="QRadioButton" name="bottomLeftRB">
|
||||
<property name="text">
|
||||
<string>Bottom/Right</string>
|
||||
<string/>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">buttonGroup</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
@ -74,7 +174,7 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<item>
|
||||
<widget class="QLabel" name="warningLabel">
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@ -85,4 +185,7 @@
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
<buttongroups>
|
||||
<buttongroup name="buttonGroup"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
@ -1,105 +1,100 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="en_US">
|
||||
<TS version="2.1">
|
||||
<context>
|
||||
<name>AdvancedSettings</name>
|
||||
<message>
|
||||
<source>Menu Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Duration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For some the notification's expiration time is dependent on the notification server's settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"Server Decides" Time:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="17"/>
|
||||
<source>Sizes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Spacing:</source>
|
||||
<location filename="../advancedsettings.ui" line="25"/>
|
||||
<source>Width:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="32"/>
|
||||
<location filename="../advancedsettings.ui" line="56"/>
|
||||
<source> px</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Width:</source>
|
||||
<location filename="../advancedsettings.ui" line="49"/>
|
||||
<source>Spacing:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="68"/>
|
||||
<source>Duration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="74"/>
|
||||
<source>Some notifications set their own on-screen duration.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="86"/>
|
||||
<source>Default duration:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="93"/>
|
||||
<source> sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BasicSettings</name>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="23"/>
|
||||
<source>Basic Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display Notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top/Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top/Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom/Left</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom/Right</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test Notification</source>
|
||||
<location filename="../basicsettings.ui" line="30"/>
|
||||
<source>Position on screen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="57"/>
|
||||
<source><b>Warning:</b> No notifications daemon is running.
|
||||
A fallback will be used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="60"/>
|
||||
<source><b>Warning:</b> A third-party notifications daemon (%1) is running.
|
||||
These settings won't have an effect on it!</source>
|
||||
These settings won't have any effect on it!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Summary</source>
|
||||
<location filename="../basicsettings.cpp" line="117"/>
|
||||
<source>Notification demo </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Body</source>
|
||||
<location filename="../basicsettings.cpp" line="118"/>
|
||||
<source>This is a test notification.
|
||||
All notifications will now appear here on LXQt.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="40"/>
|
||||
<source>Desktop Notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="43"/>
|
||||
<source>Basic Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="47"/>
|
||||
<source>Advanced Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Translations
|
||||
GenericName[de]=LxQt Konfigurations Center
|
||||
Name[de]=LxQt Konfiguration
|
||||
Name[de]=Mitteilungen der Arbeitsfläche
|
||||
GenericName[de]=LxQt Mitteilungseinstellungen
|
||||
Comment[de]=Konfiguration von Benachrichtigungen
|
105
config/translations/lxqt-config-notificationd_de.ts
Normal file
105
config/translations/lxqt-config-notificationd_de.ts
Normal file
@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>AdvancedSettings</name>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="17"/>
|
||||
<source>Sizes</source>
|
||||
<translation>Größen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="25"/>
|
||||
<source>Width:</source>
|
||||
<translation>Breite:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="32"/>
|
||||
<location filename="../advancedsettings.ui" line="56"/>
|
||||
<source> px</source>
|
||||
<translation> px</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="49"/>
|
||||
<source>Spacing:</source>
|
||||
<translation>Abstand:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="68"/>
|
||||
<source>Duration</source>
|
||||
<translation>Dauer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="74"/>
|
||||
<source>Some notifications set their own on-screen duration.</source>
|
||||
<translation>Einige Benachrichtigungen setzen ihre eigene Anzeigedauer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="86"/>
|
||||
<source>Default duration:</source>
|
||||
<translation>Standarddauer:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="93"/>
|
||||
<source> sec</source>
|
||||
<translation> s</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BasicSettings</name>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="23"/>
|
||||
<source>Basic Settings</source>
|
||||
<translation>Grundeinstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="30"/>
|
||||
<source>Position on screen</source>
|
||||
<translation>Position auf dem Bildschirm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="57"/>
|
||||
<source><b>Warning:</b> No notifications daemon is running.
|
||||
A fallback will be used.</source>
|
||||
<translation><b>Warnung:</b> Es läuft kein Benachrichtigungsdaemon.
|
||||
Ein Ersatz wird verwendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="60"/>
|
||||
<source><b>Warning:</b> A third-party notifications daemon (%1) is running.
|
||||
These settings won't have any effect on it!</source>
|
||||
<translation><b>Warnung:</b> Ein anderer Benachrichtigungsdaemon (%1) läuft.
|
||||
Diese Einstellungen wirken sich auf ihn nicht aus!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="117"/>
|
||||
<source>Notification demo </source>
|
||||
<translation>Testbenachrichtigung </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="118"/>
|
||||
<source>This is a test notification.
|
||||
All notifications will now appear here on LXQt.</source>
|
||||
<translation>Dies ist eine Testbenachrichtigung.
|
||||
Alle Benachrichtigungen erscheinen jetzt hier auf LXQt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="40"/>
|
||||
<source>Desktop Notifications</source>
|
||||
<translation>Arbeitsflächenbenachrichtigungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="43"/>
|
||||
<source>Basic Settings</source>
|
||||
<translation>Grundeinstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="47"/>
|
||||
<source>Advanced Settings</source>
|
||||
<translation>Erweiterte Einstellungen</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -1,4 +0,0 @@
|
||||
# Translations
|
||||
GenericName[de_DE]=Anwendungsmenü
|
||||
Name[de_DE]=LxQt Freedesktop Mitteilungen Konfiguration
|
||||
Comment[de_DE]=Freedesktop Mitteilungen für LxQt Desktop konfigurieren
|
@ -1,3 +1,3 @@
|
||||
# Translations
|
||||
GenericName[fr_FR]=Bloc-notes
|
||||
Name[fr_FR]=Paramétreur de session LxQt
|
||||
GenericName[fr_FR]=Paramétrage des notifications du bureau
|
||||
Name[fr_FR]=Paramétrage notifications
|
||||
|
107
config/translations/lxqt-config-notificationd_hr.ts
Normal file
107
config/translations/lxqt-config-notificationd_hr.ts
Normal file
@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.0" language="hr_HR">
|
||||
<context>
|
||||
<name>AdvancedSettings</name>
|
||||
<message>
|
||||
<source>Menu Configuration</source>
|
||||
<translation type="unfinished">Konfiguracija izbornika</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Duration</source>
|
||||
<translation type="unfinished">Trajanje obavijesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For some the notification's expiration time is dependent on the notification server's settings.</source>
|
||||
<translation type="unfinished">Za neke obavijesti's vrijeme istjecanja ovisi o postavkama poslužitelja's obavijesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"Server Decides" Time:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> sec</source>
|
||||
<translation type="unfinished">sek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sizes</source>
|
||||
<translation type="unfinished">Veličine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Spacing:</source>
|
||||
<translation type="unfinished">Razmak obavijesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> px</source>
|
||||
<translation type="unfinished"> px</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Width:</source>
|
||||
<translation type="unfinished">Širina obavijesti</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BasicSettings</name>
|
||||
<message>
|
||||
<source>Basic Settings</source>
|
||||
<translation type="unfinished">Osnovne postavke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display Notifications</source>
|
||||
<translation type="unfinished">Prikaži obavijesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top/Left</source>
|
||||
<translation type="unfinished">Gore/lijevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top/Right</source>
|
||||
<translation type="unfinished">Gore/desno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom/Left</source>
|
||||
<translation type="unfinished">Dolje/lijevo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom/Right</source>
|
||||
<translation type="unfinished">Dolje/desno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test Notification</source>
|
||||
<translation type="unfinished">Isprobaj obavijesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Warning:</b> No notifications daemon is running.
|
||||
A fallback will be used.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Warning:</b> A third-party notifications daemon (%1) is running.
|
||||
These settings won't have an effect on it!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Summary</source>
|
||||
<translation type="unfinished">Sažetak obavijesti</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Body</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Desktop Notifications</source>
|
||||
<translation type="unfinished">Obavijesti radne površine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic Settings</source>
|
||||
<translation type="unfinished">Osnovne postavke</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Settings</source>
|
||||
<translation type="unfinished">Napredne postavke</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -1,4 +1,4 @@
|
||||
# Translations
|
||||
GenericName[hu]=Alkalmazásmenü
|
||||
Name[hu]=LxQt beállítóközpont
|
||||
Comment[hu]=A Freedesktop értesítések beállítása
|
||||
GenericName[hu]=Az asztali értesítések beállítása
|
||||
Name[hu]=LxQt értesítések beállítása
|
||||
Comment[hu]=A felbukkanó értesítések beállítása
|
||||
|
125
config/translations/lxqt-config-notificationd_hu.ts
Normal file
125
config/translations/lxqt-config-notificationd_hu.ts
Normal file
@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="hu_HU">
|
||||
<context>
|
||||
<name>AdvancedSettings</name>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="17"/>
|
||||
<source>Sizes</source>
|
||||
<translation>Méret</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="25"/>
|
||||
<source>Width:</source>
|
||||
<translation>Szélesség:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="32"/>
|
||||
<location filename="../advancedsettings.ui" line="56"/>
|
||||
<source> px</source>
|
||||
<translation> pixel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="49"/>
|
||||
<source>Spacing:</source>
|
||||
<translation>Térköz:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="68"/>
|
||||
<source>Duration</source>
|
||||
<translation>Tartam</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="74"/>
|
||||
<source>Some notifications set their own on-screen duration.</source>
|
||||
<translation>Egyes értesítések megjelenési ideje</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="86"/>
|
||||
<source>Default duration:</source>
|
||||
<translation>Alapértelmezett tartam:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../advancedsettings.ui" line="93"/>
|
||||
<source> sec</source>
|
||||
<translation> mp</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BasicSettings</name>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="23"/>
|
||||
<source>Basic Settings</source>
|
||||
<translation>Alapbeállítások</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="30"/>
|
||||
<source>Position on screen</source>
|
||||
<translation>Hely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="36"/>
|
||||
<source>Top/Left</source>
|
||||
<translation>Balra fenn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="43"/>
|
||||
<source>Top/Right</source>
|
||||
<translation>Jobbra fenn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="50"/>
|
||||
<source>Bottom/Left</source>
|
||||
<translation>Balra lenn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.ui" line="57"/>
|
||||
<source>Bottom/Right</source>
|
||||
<translation>Jobbra lenn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="53"/>
|
||||
<source><b>Warning:</b> No notifications daemon is running.
|
||||
A fallback will be used.</source>
|
||||
<translation><b>Figyelem:</b> Értesítő démon nem fut.
|
||||
A vésztartalék használatos.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="59"/>
|
||||
<source><b>Warning:</b> A third-party notifications daemon (%1) is running.
|
||||
These settings won't have any effect on it!</source>
|
||||
<translation><b>Figyelem:</b> A (%1) démont már valaki futtatja.
|
||||
Ezek a beállítások arra már hatástalanok!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="98"/>
|
||||
<source>Notification demo</source>
|
||||
<translation>Értesítési bemutató</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../basicsettings.cpp" line="99"/>
|
||||
<source>This is a test notification.
|
||||
All notifications will now appear here on LXQt.</source>
|
||||
<translation>Az értesítés tesztje
|
||||
Minden értesítést megjelenít az LXQt.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="40"/>
|
||||
<source>Desktop Notifications</source>
|
||||
<translation>Asztali értesítések</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="43"/>
|
||||
<source>Basic Settings</source>
|
||||
<translation>Alapbeállítások</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../mainwindow.cpp" line="47"/>
|
||||
<source>Advanced Settings</source>
|
||||
<translation>Haladó beállítások</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -1,3 +1,4 @@
|
||||
# Translations
|
||||
GenericName[it]=Centro di Configurazione LxQt
|
||||
Name[it]=Configura LxQt
|
||||
GenericName[it]=Notifiche
|
||||
Name[it]=Configura notifiche
|
||||
Comment[it]=Configura le notifiche Freedesktop del Desktop LxQt
|
||||
|
110
config/translations/lxqt-config-notificationd_it.ts
Normal file
110
config/translations/lxqt-config-notificationd_it.ts
Normal file
@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="it">
|
||||
<context>
|
||||
<name>AdvancedSettings</name>
|
||||
<message>
|
||||
<source>Menu Configuration</source>
|
||||
<translation>Configurazione del menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Duration</source>
|
||||
<translation>Durata delle notifiche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>For some the notification's expiration time is dependent on the notification server's settings.</source>
|
||||
<translation>Per alcune notifiche il tempo dipende dalle impostazioni del server delle notifiche.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>"Server Decides" Time:</source>
|
||||
<translation>Tempo di decisioni del server:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> sec</source>
|
||||
<translation> sec</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sizes</source>
|
||||
<translation>Dimensione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Spacing:</source>
|
||||
<translatorcomment>a cosa si riferisce??</translatorcomment>
|
||||
<translation type="unfinished">Spazing:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> px</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Width:</source>
|
||||
<translation>Larghezza:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BasicSettings</name>
|
||||
<message>
|
||||
<source>Basic Settings</source>
|
||||
<translation>Impostazioni base</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display Notifications</source>
|
||||
<translation>Mostra notifiche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top/Left</source>
|
||||
<translation>Alto a sinistra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top/Right</source>
|
||||
<translation>Alto a destra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom/Left</source>
|
||||
<translation>Fondo a sinistra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom/Right</source>
|
||||
<translation>Fondo a destra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Test Notification</source>
|
||||
<translation>Notifica di prova</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Warning:</b> No notifications daemon is running.
|
||||
A fallback will be used.</source>
|
||||
<translation><b>Attenzione:</b> Nessun demone di notifiche è in esecuzione.
|
||||
Sarà usato un sistema di riserva.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Warning:</b> A third-party notifications daemon (%1) is running.
|
||||
These settings won't have an effect on it!</source>
|
||||
<translation><b>Attenzione:</b> Un altro demone di notifiche (%1) è in esecuzione.
|
||||
Queste impostazioni non avranno effetto su quello!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Summary</source>
|
||||
<translation>Sommario della notifica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Notification Body</source>
|
||||
<translation>Corpo della notifica</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<source>Desktop Notifications</source>
|
||||
<translation type="unfinished">Notificazioni Desktop</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Basic Settings</source>
|
||||
<translation>Impostazioni base</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced Settings</source>
|
||||
<translation>Impostazioni avanzate</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -1,4 +0,0 @@
|
||||
# Translations
|
||||
GenericName[it_IT]=Esci
|
||||
Name[it_IT]=Esci dal sistema
|
||||
Comment[it_IT]=Configura le notifiche freedesktop nel desktop LxQt
|
@ -1,4 +1,4 @@
|
||||
# Translations
|
||||
GenericName[ru]=Настройки уведомлений LxQt
|
||||
Name[ru]=Уведомления рабочего стола
|
||||
Comment[ru]=Настроить уведомления рабочего стола
|
||||
GenericName[ru_RU]=Настройки уведомлений LxQt
|
||||
Name[ru_RU]=Уведомления рабочего стола
|
||||
Comment[ru_RU]=Настроить уведомления рабочего стола
|
||||
|
@ -1,8 +1,3 @@
|
||||
include_directories(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
|
||||
set(NOTIFICATIONS_SRC
|
||||
main.cpp
|
||||
notificationarea.cpp
|
||||
@ -16,15 +11,15 @@ set(NOTIFICATIONS_UI
|
||||
notification.ui
|
||||
)
|
||||
|
||||
qt5_wrap_ui(NOTIFICATIONS_UI_CPP ${NOTIFICATIONS_UI})
|
||||
qt5_add_dbus_adaptor(NOTIFICATIONS_SRC
|
||||
org.freedesktop.Notifications.xml
|
||||
notifyd.h Notifyd
|
||||
)
|
||||
|
||||
# Translations **********************************
|
||||
lxqt_translate_ts(NOTIFICATIONS_QM_FILES SOURCES
|
||||
lxqt_translate_ts(NOTIFICATIONS_QM_FILES
|
||||
UPDATE_TRANSLATIONS ${UPDATE_TRANSLATIONS}
|
||||
SOURCES
|
||||
${NOTIFICATIONS_SRC}
|
||||
${NOTIFICATIONS_UI}
|
||||
INSTALL_DIR "${LXQT_TRANSLATIONS_DIR}/${PROJECT_NAME}"
|
||||
@ -35,7 +30,6 @@ lxqt_app_translation_loader(QM_LOADER ${PROJECT_NAME})
|
||||
|
||||
add_executable(lxqt-notificationd
|
||||
${NOTIFICATIONS_SRC}
|
||||
${NOTIFICATIONS_UI_CPP}
|
||||
${NOTIFICATIONS_QM_FILES}
|
||||
${QM_LOADER}
|
||||
)
|
||||
@ -43,9 +37,12 @@ add_executable(lxqt-notificationd
|
||||
target_link_libraries(lxqt-notificationd
|
||||
Qt5::Widgets
|
||||
Qt5::DBus
|
||||
${QTXDG_LIBRARIES}
|
||||
${LXQT_LIBRARIES}
|
||||
lxqt
|
||||
KF5::WindowSystem
|
||||
)
|
||||
|
||||
install(TARGETS lxqt-notificationd RUNTIME DESTINATION bin)
|
||||
install(TARGETS
|
||||
lxqt-notificationd
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include "notifyd.h"
|
||||
|
||||
|
||||
/*! \mainpage LXDE-Qt notification daemon
|
||||
/*! \mainpage LXQt notification daemon
|
||||
*
|
||||
* Running in user session; implementing standard as described in:
|
||||
* docs/nodification-spec-latest.html
|
||||
@ -74,7 +74,7 @@ int main(int argc, char** argv)
|
||||
"NotificationArea {background: transparent;}"
|
||||
"NotificationLayout {background: transparent;}"
|
||||
);
|
||||
|
||||
|
||||
Notifyd* daemon = new Notifyd();
|
||||
new NotificationsAdaptor(daemon);
|
||||
|
||||
@ -84,6 +84,5 @@ int main(int argc, char** argv)
|
||||
if (!connection.registerObject("/org/freedesktop/Notifications", daemon))
|
||||
qDebug() << "registerObject failed: another object with '/org/freedesktop/Notifications' runs already";
|
||||
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <QtDBus/QDBusArgument>
|
||||
#include <QDebug>
|
||||
#include <XdgIcon>
|
||||
#include <KF5/KWindowSystem/KWindowSystem>
|
||||
#include <KWindowSystem/KWindowSystem>
|
||||
|
||||
#include "notification.h"
|
||||
#include "notificationwidgets.h"
|
||||
@ -109,21 +109,27 @@ void Notification::setValues(const QString &application,
|
||||
iconLabel->setPixmap(m_pixmap);
|
||||
iconLabel->show();
|
||||
}
|
||||
//XXX: workaround to properly set text labels widths (for correct sizeHints after setText)
|
||||
adjustSize();
|
||||
|
||||
// application
|
||||
appLabel->setVisible(!application.isEmpty());
|
||||
appLabel->setVisible(!application.isEmpty());
|
||||
appLabel->setFixedWidth(appLabel->width());
|
||||
appLabel->setText(application);
|
||||
|
||||
// summary
|
||||
summaryLabel->setVisible(!summary.isEmpty());
|
||||
summaryLabel->setVisible(!summary.isEmpty() && application != summary);
|
||||
summaryLabel->setFixedWidth(summaryLabel->width());
|
||||
summaryLabel->setText(summary);
|
||||
|
||||
if (application == summary)
|
||||
summaryLabel->setVisible(false);
|
||||
|
||||
// body
|
||||
bodyLabel->setVisible(!body.isEmpty());
|
||||
bodyLabel->setText(body);
|
||||
bodyLabel->setFixedWidth(bodyLabel->width());
|
||||
//https://developer.gnome.org/notification-spec
|
||||
//Body - This is a multi-line body of text. Each line is a paragraph, server implementations are free to word wrap them as they see fit.
|
||||
//XXX: remove all unsupported tags?!? (supported <b>, <i>, <u>, <a>, <img>)
|
||||
QString formatted(body);
|
||||
bodyLabel->setText(formatted.replace('\n', QStringLiteral("<br/>")));
|
||||
|
||||
// Timeout
|
||||
// Special values:
|
||||
@ -225,7 +231,14 @@ QPixmap Notification::getPixmapFromHint(const QVariant &argument) const
|
||||
arg >> channels;
|
||||
arg >> data;
|
||||
arg.endStructure();
|
||||
QImage img = QImage((uchar*)data.constData(), width, height, QImage::Format_ARGB32).rgbSwapped();
|
||||
|
||||
bool rgb = !hasAlpha && channels == 3 && bitsPerSample == 8;
|
||||
QImage::Format imageFormat = rgb ? QImage::Format_RGB888 : QImage::Format_ARGB32;
|
||||
|
||||
QImage img = QImage((uchar*)data.constData(), width, height, imageFormat);
|
||||
|
||||
if (!rgb)
|
||||
img = img.rgbSwapped();
|
||||
|
||||
return QPixmap::fromImage(img);
|
||||
}
|
||||
@ -310,7 +323,7 @@ void NotificationTimer::pause()
|
||||
return;
|
||||
|
||||
stop();
|
||||
m_intervalMsec = m_startTime.msecsTo(QDateTime());
|
||||
m_intervalMsec = m_startTime.msecsTo(QDateTime::currentDateTime());
|
||||
}
|
||||
|
||||
void NotificationTimer::resume()
|
||||
|
@ -86,7 +86,7 @@ protected:
|
||||
- if there is one action or at least one default action, this
|
||||
default action is triggered on click.
|
||||
\see NotificationActionsWidget::hasDefaultAction()
|
||||
\see NotificationActionsWidget::defaultAction()
|
||||
\see NotificationActionsWidget::defaultAction()
|
||||
- it tries to find caller window by
|
||||
a) application name. \see XfitMan::getApplicationName()
|
||||
b) window title. \see XfitMan::getWindowTitle()
|
||||
|
@ -78,38 +78,44 @@ void NotificationArea::setHeight(int contentHeight)
|
||||
// I think it's a bug of Qt.
|
||||
QRect workArea = qApp->desktop()->availableGeometry(qApp->desktop()->primaryScreen());
|
||||
|
||||
int h = workArea.height();
|
||||
int safeHeight = contentHeight > h ? h : contentHeight;
|
||||
int x, y;
|
||||
workArea -= QMargins(m_spacing, m_spacing, m_spacing, m_spacing);
|
||||
QRect notif_rect = workArea.normalized();
|
||||
notif_rect.setWidth(width());
|
||||
if (notif_rect.height() > contentHeight)
|
||||
notif_rect.setHeight(contentHeight);
|
||||
|
||||
if (m_placement == "bottom-right")
|
||||
// no move needed for "top-left"
|
||||
if ("top-center" == m_placement)
|
||||
{
|
||||
x = workArea.right() - width() - m_spacing;
|
||||
y = workArea.bottom() - safeHeight - m_spacing;
|
||||
}
|
||||
else if (m_placement == "bottom-left")
|
||||
notif_rect.moveCenter(workArea.center());
|
||||
notif_rect.moveTop(workArea.top());
|
||||
} else if ("top-right" == m_placement)
|
||||
{
|
||||
x = workArea.x() + m_spacing;
|
||||
y = workArea.bottom() - safeHeight - m_spacing;
|
||||
}
|
||||
else if (m_placement == "top-right")
|
||||
notif_rect.moveRight(workArea.right());
|
||||
} else if ("center-left" == m_placement)
|
||||
{
|
||||
x = workArea.right() - width() - m_spacing;
|
||||
y = workArea.y() + m_spacing;
|
||||
}
|
||||
else if (m_placement == "top-left")
|
||||
notif_rect.moveCenter(workArea.center());
|
||||
notif_rect.moveLeft(workArea.left());
|
||||
} else if ("center-center" == m_placement)
|
||||
{
|
||||
x = workArea.x() + m_spacing;
|
||||
y = workArea.y() + m_spacing;
|
||||
}
|
||||
else
|
||||
notif_rect.moveCenter(workArea.center());
|
||||
} else if ("center-right" == m_placement)
|
||||
{
|
||||
x = workArea.right() - width() - m_spacing;
|
||||
y = workArea.bottom() - safeHeight;
|
||||
notif_rect.moveCenter(workArea.center());
|
||||
notif_rect.moveRight(workArea.right());
|
||||
} else if ("bottom-left" == m_placement)
|
||||
{
|
||||
notif_rect.moveBottom(workArea.bottom());
|
||||
} else if ("bottom-center" == m_placement)
|
||||
{
|
||||
notif_rect.moveCenter(workArea.center());
|
||||
notif_rect.moveBottom(workArea.bottom());
|
||||
} else if ("bottom-right" == m_placement)
|
||||
{
|
||||
notif_rect.moveBottomRight(workArea.bottomRight());
|
||||
}
|
||||
|
||||
move(x, y);
|
||||
resize(width(), safeHeight);
|
||||
setGeometry(notif_rect);
|
||||
// always show the latest notification
|
||||
ensureVisible(0, contentHeight, 0, 0);
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ NotificationLayout::NotificationLayout(QWidget *parent)
|
||||
setPalette(palette);
|
||||
// Required to display wallpaper
|
||||
setAttribute(Qt::WA_TranslucentBackground);
|
||||
|
||||
|
||||
// Make the window stay on top
|
||||
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
|
||||
|
||||
|
15
src/translations/lxqt-notificationd_de.ts
Normal file
15
src/translations/lxqt-notificationd_de.ts
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>NotificationActionsComboWidget</name>
|
||||
<message>
|
||||
<source>Actions:</source>
|
||||
<translation>Aktionen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation>OK</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
15
src/translations/lxqt-notificationd_hu.ts
Normal file
15
src/translations/lxqt-notificationd_hu.ts
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="hu">
|
||||
<context>
|
||||
<name>NotificationActionsComboWidget</name>
|
||||
<message>
|
||||
<source>Actions:</source>
|
||||
<translation>Akciók:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -36,7 +36,7 @@ class MainWindow;
|
||||
class MainWindow : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget* parent = 0);
|
||||
~MainWindow();
|
||||
|
Loading…
x
Reference in New Issue
Block a user