mirror of
https://github.com/Ximi1970/systray-x.git
synced 2025-11-03 11:56:04 +01:00
Add hide type option
This commit is contained in:
@@ -30,6 +30,7 @@ Preferences::Preferences( QObject *parent ) : QObject( parent )
|
|||||||
m_show_number = true;
|
m_show_number = true;
|
||||||
m_number_color = "#000000";
|
m_number_color = "#000000";
|
||||||
|
|
||||||
|
m_minimize_type = PREF_DEFAULT_MINIMIZE;
|
||||||
m_hide_minimize = true;
|
m_hide_minimize = true;
|
||||||
m_start_minimized = false;
|
m_start_minimized = false;
|
||||||
|
|
||||||
@@ -48,15 +49,6 @@ Preferences::Preferences( QObject *parent ) : QObject( parent )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Get the icon type.
|
|
||||||
*/
|
|
||||||
Preferences::IconType Preferences::getIconType() const
|
|
||||||
{
|
|
||||||
return m_icon_type;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the icon mime.
|
* Get the icon mime.
|
||||||
*/
|
*/
|
||||||
@@ -78,6 +70,15 @@ void Preferences::setAppPrefChanged( bool state )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the icon type.
|
||||||
|
*/
|
||||||
|
Preferences::IconType Preferences::getIconType() const
|
||||||
|
{
|
||||||
|
return m_icon_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the icon type.
|
* Set the icon type.
|
||||||
*/
|
*/
|
||||||
@@ -192,6 +193,32 @@ void Preferences::setNumberColor( QString color )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the icon type.
|
||||||
|
*/
|
||||||
|
Preferences::MinimizeType Preferences::getMinimizeType() const
|
||||||
|
{
|
||||||
|
return m_minimize_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set the icon type.
|
||||||
|
*/
|
||||||
|
void Preferences::setMinimizeType( MinimizeType minimize_type )
|
||||||
|
{
|
||||||
|
if( m_minimize_type != minimize_type)
|
||||||
|
{
|
||||||
|
m_minimize_type = minimize_type;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tell the world the new preference
|
||||||
|
*/
|
||||||
|
emit signalMinimizeTypeChange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the hide on minimize pref.
|
* Get the hide on minimize pref.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,6 +21,15 @@ class Preferences : public QObject
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Minimize types
|
||||||
|
*/
|
||||||
|
enum MinimizeType {
|
||||||
|
PREF_DEFAULT_MINIMIZE = 0,
|
||||||
|
PREF_MINIMIZE_METHOD_1,
|
||||||
|
PREF_MINIMIZE_METHOD_2
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Icon types
|
* Icon types
|
||||||
*/
|
*/
|
||||||
@@ -121,6 +130,20 @@ class Preferences : public QObject
|
|||||||
*/
|
*/
|
||||||
void setNumberColor( QString color );
|
void setNumberColor( QString color );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief getMinimizeType. Get the minimize type.
|
||||||
|
*
|
||||||
|
* @return The minimize type.
|
||||||
|
*/
|
||||||
|
MinimizeType getMinimizeType() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief setMinimizeType. Set the minimize type.
|
||||||
|
*
|
||||||
|
* @param The minimize type.
|
||||||
|
*/
|
||||||
|
void setMinimizeType( MinimizeType icon_type );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief getHideOnMinimize. Get the hide on minimize state.
|
* @brief getHideOnMinimize. Get the hide on minimize state.
|
||||||
*
|
*
|
||||||
@@ -248,6 +271,11 @@ class Preferences : public QObject
|
|||||||
*/
|
*/
|
||||||
void signalNumberColorChange();
|
void signalNumberColorChange();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief signalMinimizeTypeChange. Signal a minimize type change.
|
||||||
|
*/
|
||||||
|
void signalMinimizeTypeChange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief signalHideOnMinimizeChange. Signal a hide on mnimize state change.
|
* @brief signalHideOnMinimizeChange. Signal a hide on mnimize state change.
|
||||||
*/
|
*/
|
||||||
@@ -305,6 +333,11 @@ class Preferences : public QObject
|
|||||||
*/
|
*/
|
||||||
QString m_number_color;
|
QString m_number_color;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief m_minimize_type. Selected minimize type.
|
||||||
|
*/
|
||||||
|
MinimizeType m_minimize_type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief m_hide_minimize. Hide the minimized window.
|
* @brief m_hide_minimize. Hide the minimized window.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>684</width>
|
<width>684</width>
|
||||||
<height>278</height>
|
<height>310</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -20,12 +20,49 @@
|
|||||||
<layout class="QGridLayout" name="gridLayout_4">
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0" rowspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Windows</string>
|
<string>Windows</string>
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="defaultMinimizeRadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Default minimize</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">minimizeTypeGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="minimizeMethod1RadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Minimize to tray, method 1</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">minimizeTypeGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="minimizeMethod2RadioButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Minimize to tray, method 2</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">minimizeTypeGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="hideOnMinimizeCheckBox">
|
<widget class="QCheckBox" name="hideOnMinimizeCheckBox">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -203,14 +240,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="1" rowspan="2" colspan="2">
|
||||||
<widget class="QCheckBox" name="debugWindowCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Display debug window</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1" colspan="2">
|
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
<widget class="QGroupBox" name="groupBox_3">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Number properties</string>
|
<string>Number properties</string>
|
||||||
@@ -263,6 +293,13 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QCheckBox" name="debugWindowCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Display debug window</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
@@ -300,5 +337,6 @@
|
|||||||
</connections>
|
</connections>
|
||||||
<buttongroups>
|
<buttongroups>
|
||||||
<buttongroup name="iconTypeGroup"/>
|
<buttongroup name="iconTypeGroup"/>
|
||||||
|
<buttongroup name="minimizeTypeGroup"/>
|
||||||
</buttongroups>
|
</buttongroups>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
@@ -31,7 +31,14 @@ PreferencesDialog::PreferencesDialog( SysTrayXLink *link, Preferences *pref, QWi
|
|||||||
m_pref = pref;
|
m_pref = pref;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set button Ids
|
* Set minimize type button Ids
|
||||||
|
*/
|
||||||
|
m_ui->minimizeTypeGroup->setId( m_ui->defaultMinimizeRadioButton, Preferences::PREF_DEFAULT_MINIMIZE);
|
||||||
|
m_ui->minimizeTypeGroup->setId( m_ui->minimizeMethod1RadioButton, Preferences::PREF_MINIMIZE_METHOD_1 );
|
||||||
|
m_ui->minimizeTypeGroup->setId( m_ui->minimizeMethod2RadioButton, Preferences::PREF_MINIMIZE_METHOD_2 );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set icon type button Ids
|
||||||
*/
|
*/
|
||||||
m_ui->iconTypeGroup->setId( m_ui->blankRadioButton, Preferences::PREF_BLANK_ICON );
|
m_ui->iconTypeGroup->setId( m_ui->blankRadioButton, Preferences::PREF_BLANK_ICON );
|
||||||
m_ui->iconTypeGroup->setId( m_ui->newMailButton, Preferences::PREF_NEWMAIL_ICON );
|
m_ui->iconTypeGroup->setId( m_ui->newMailButton, Preferences::PREF_NEWMAIL_ICON );
|
||||||
@@ -85,6 +92,15 @@ void PreferencesDialog::setPollInterval( int val )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set the minimize type
|
||||||
|
*/
|
||||||
|
void PreferencesDialog::setMinimizeType( Preferences::MinimizeType minimize_type )
|
||||||
|
{
|
||||||
|
( m_ui->minimizeTypeGroup->button( minimize_type ) )->setChecked( true );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the hide on minimize state
|
* Set the hide on minimize state
|
||||||
*/
|
*/
|
||||||
@@ -187,6 +203,7 @@ void PreferencesDialog::slotAccept()
|
|||||||
m_pref->setIconMime( m_tmp_icon_mime );
|
m_pref->setIconMime( m_tmp_icon_mime );
|
||||||
m_pref->setIconData( m_tmp_icon_data );
|
m_pref->setIconData( m_tmp_icon_data );
|
||||||
|
|
||||||
|
m_pref->setMinimizeType( static_cast< Preferences::MinimizeType >( m_ui->minimizeTypeGroup->checkedId() ) );
|
||||||
m_pref->setHideOnMinimize( m_ui->hideOnMinimizeCheckBox->isChecked() );
|
m_pref->setHideOnMinimize( m_ui->hideOnMinimizeCheckBox->isChecked() );
|
||||||
m_pref->setStartMinimized( m_ui->startMinimizedCheckBox->isChecked() );
|
m_pref->setStartMinimized( m_ui->startMinimizedCheckBox->isChecked() );
|
||||||
|
|
||||||
@@ -291,6 +308,15 @@ void PreferencesDialog::slotPollIntervalChange()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handle the minimize type change signal
|
||||||
|
*/
|
||||||
|
void PreferencesDialog::slotMinimizeTypeChange()
|
||||||
|
{
|
||||||
|
setMinimizeType( m_pref->getMinimizeType() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle the hide on minimize change signal
|
* Handle the hide on minimize change signal
|
||||||
*/
|
*/
|
||||||
@@ -308,6 +334,7 @@ void PreferencesDialog::slotStartMinimizedChange()
|
|||||||
setStartMinimized( m_pref->getStartMinimized() );
|
setStartMinimized( m_pref->getStartMinimized() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle the icon type change signal
|
* Handle the icon type change signal
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -62,6 +62,13 @@ class PreferencesDialog : public QDialog
|
|||||||
*/
|
*/
|
||||||
void setPollInterval( int val );
|
void setPollInterval( int val );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief setMinimizeType. Set the minimize type.
|
||||||
|
*
|
||||||
|
* @param minimize_type The minimize type.
|
||||||
|
*/
|
||||||
|
void setMinimizeType( Preferences::MinimizeType minimize_type );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief setHideOnMinimize. Set the hide on minimize state.
|
* @brief setHideOnMinimize. Set the hide on minimize state.
|
||||||
*
|
*
|
||||||
@@ -141,6 +148,11 @@ class PreferencesDialog : public QDialog
|
|||||||
*/
|
*/
|
||||||
void slotPollIntervalChange();
|
void slotPollIntervalChange();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief slotMinimizeTypeChange. Slot for handling minimize type change signals.
|
||||||
|
*/
|
||||||
|
void slotMinimizeTypeChange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief slotHideOnMinimizeChange. Slot for handling hide on minimize change signals.
|
* @brief slotHideOnMinimizeChange. Slot for handling hide on minimize change signals.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent )
|
|||||||
connect( m_preferences, &Preferences::signalShowNumberChange, m_tray_icon, &SysTrayXIcon::slotShowNumberChange );
|
connect( m_preferences, &Preferences::signalShowNumberChange, m_tray_icon, &SysTrayXIcon::slotShowNumberChange );
|
||||||
connect( m_preferences, &Preferences::signalNumberColorChange, m_tray_icon, &SysTrayXIcon::slotNumberColorChange );
|
connect( m_preferences, &Preferences::signalNumberColorChange, m_tray_icon, &SysTrayXIcon::slotNumberColorChange );
|
||||||
|
|
||||||
|
connect( m_preferences, &Preferences::signalMinimizeTypeChange, m_win_ctrl, &WindowCtrl::slotMinimizeTypeChange );
|
||||||
connect( m_preferences, &Preferences::signalHideOnMinimizeChange, m_win_ctrl, &WindowCtrl::slotHideOnMinimizeChange );
|
connect( m_preferences, &Preferences::signalHideOnMinimizeChange, m_win_ctrl, &WindowCtrl::slotHideOnMinimizeChange );
|
||||||
connect( m_preferences, &Preferences::signalStartMinimizedChange, m_win_ctrl, &WindowCtrl::slotStartMinimizedChange );
|
connect( m_preferences, &Preferences::signalStartMinimizedChange, m_win_ctrl, &WindowCtrl::slotStartMinimizedChange );
|
||||||
|
|
||||||
@@ -92,6 +93,7 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent )
|
|||||||
connect( m_preferences, &Preferences::signalIconDataChange, m_pref_dialog, &PreferencesDialog::slotIconDataChange );
|
connect( m_preferences, &Preferences::signalIconDataChange, m_pref_dialog, &PreferencesDialog::slotIconDataChange );
|
||||||
connect( m_preferences, &Preferences::signalShowNumberChange, m_pref_dialog, &PreferencesDialog::slotShowNumberChange );
|
connect( m_preferences, &Preferences::signalShowNumberChange, m_pref_dialog, &PreferencesDialog::slotShowNumberChange );
|
||||||
connect( m_preferences, &Preferences::signalNumberColorChange, m_pref_dialog, &PreferencesDialog::slotNumberColorChange );
|
connect( m_preferences, &Preferences::signalNumberColorChange, m_pref_dialog, &PreferencesDialog::slotNumberColorChange );
|
||||||
|
connect( m_preferences, &Preferences::signalMinimizeTypeChange, m_pref_dialog, &PreferencesDialog::slotMinimizeTypeChange );
|
||||||
connect( m_preferences, &Preferences::signalHideOnMinimizeChange, m_pref_dialog, &PreferencesDialog::slotHideOnMinimizeChange );
|
connect( m_preferences, &Preferences::signalHideOnMinimizeChange, m_pref_dialog, &PreferencesDialog::slotHideOnMinimizeChange );
|
||||||
connect( m_preferences, &Preferences::signalStartMinimizedChange, m_pref_dialog, &PreferencesDialog::slotStartMinimizedChange );
|
connect( m_preferences, &Preferences::signalStartMinimizedChange, m_pref_dialog, &PreferencesDialog::slotStartMinimizedChange );
|
||||||
connect( m_preferences, &Preferences::signalPollStartupDelayChange, m_pref_dialog, &PreferencesDialog::slotPollStartupDelayChange );
|
connect( m_preferences, &Preferences::signalPollStartupDelayChange, m_pref_dialog, &PreferencesDialog::slotPollStartupDelayChange );
|
||||||
@@ -102,6 +104,7 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent )
|
|||||||
connect( m_preferences, &Preferences::signalIconDataChange, m_link, &SysTrayXLink::slotIconDataChange );
|
connect( m_preferences, &Preferences::signalIconDataChange, m_link, &SysTrayXLink::slotIconDataChange );
|
||||||
connect( m_preferences, &Preferences::signalShowNumberChange, m_link, &SysTrayXLink::slotShowNumberChange );
|
connect( m_preferences, &Preferences::signalShowNumberChange, m_link, &SysTrayXLink::slotShowNumberChange );
|
||||||
connect( m_preferences, &Preferences::signalNumberColorChange, m_link, &SysTrayXLink::slotNumberColorChange );
|
connect( m_preferences, &Preferences::signalNumberColorChange, m_link, &SysTrayXLink::slotNumberColorChange );
|
||||||
|
connect( m_preferences, &Preferences::signalMinimizeTypeChange, m_link, &SysTrayXLink::slotMinimizeTypeChange );
|
||||||
connect( m_preferences, &Preferences::signalHideOnMinimizeChange, m_link, &SysTrayXLink::slotHideOnMinimizeChange );
|
connect( m_preferences, &Preferences::signalHideOnMinimizeChange, m_link, &SysTrayXLink::slotHideOnMinimizeChange );
|
||||||
connect( m_preferences, &Preferences::signalStartMinimizedChange, m_link, &SysTrayXLink::slotStartMinimizedChange );
|
connect( m_preferences, &Preferences::signalStartMinimizedChange, m_link, &SysTrayXLink::slotStartMinimizedChange );
|
||||||
connect( m_preferences, &Preferences::signalPollStartupDelayChange, m_link, &SysTrayXLink::slotPollStartupDelayChange );
|
connect( m_preferences, &Preferences::signalPollStartupDelayChange, m_link, &SysTrayXLink::slotPollStartupDelayChange );
|
||||||
|
|||||||
@@ -383,6 +383,16 @@ void SysTrayXLink::DecodePreferences( const QJsonObject& pref )
|
|||||||
m_pref->setNumberColor( number_color );
|
m_pref->setNumberColor( number_color );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( pref.contains( "minimizeType" ) && pref[ "minimizeType" ].isString() )
|
||||||
|
{
|
||||||
|
Preferences::MinimizeType minimize_type = static_cast< Preferences::MinimizeType >( pref[ "minimizeType" ].toString().toInt() );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Store the new icon type
|
||||||
|
*/
|
||||||
|
m_pref->setMinimizeType( minimize_type );
|
||||||
|
}
|
||||||
|
|
||||||
if( pref.contains( "hideOnMinimize" ) && pref[ "hideOnMinimize" ].isString() )
|
if( pref.contains( "hideOnMinimize" ) && pref[ "hideOnMinimize" ].isString() )
|
||||||
{
|
{
|
||||||
bool hide_minimize = pref[ "hideOnMinimize" ].toString() == "true";
|
bool hide_minimize = pref[ "hideOnMinimize" ].toString() == "true";
|
||||||
@@ -447,6 +457,7 @@ void SysTrayXLink::EncodePreferences( const Preferences& pref )
|
|||||||
prefObject.insert("debug", QJsonValue::fromVariant( QString( pref.getDebug() ? "true" : "false" ) ) );
|
prefObject.insert("debug", QJsonValue::fromVariant( QString( pref.getDebug() ? "true" : "false" ) ) );
|
||||||
prefObject.insert("pollStartupDelay", QJsonValue::fromVariant( QString::number( pref.getPollStartupDelay() ) ) );
|
prefObject.insert("pollStartupDelay", QJsonValue::fromVariant( QString::number( pref.getPollStartupDelay() ) ) );
|
||||||
prefObject.insert("pollInterval", QJsonValue::fromVariant( QString::number( pref.getPollInterval() ) ) );
|
prefObject.insert("pollInterval", QJsonValue::fromVariant( QString::number( pref.getPollInterval() ) ) );
|
||||||
|
prefObject.insert("minimizeType", QJsonValue::fromVariant( QString::number( pref.getMinimizeType() ) ) );
|
||||||
prefObject.insert("hideOnMinimize", QJsonValue::fromVariant( QString( pref.getHideOnMinimize() ? "true" : "false" ) ) );
|
prefObject.insert("hideOnMinimize", QJsonValue::fromVariant( QString( pref.getHideOnMinimize() ? "true" : "false" ) ) );
|
||||||
prefObject.insert("startMinimized", QJsonValue::fromVariant( QString( pref.getStartMinimized() ? "true" : "false" ) ) );
|
prefObject.insert("startMinimized", QJsonValue::fromVariant( QString( pref.getStartMinimized() ? "true" : "false" ) ) );
|
||||||
prefObject.insert("iconType", QJsonValue::fromVariant( QString::number( pref.getIconType() ) ) );
|
prefObject.insert("iconType", QJsonValue::fromVariant( QString::number( pref.getIconType() ) ) );
|
||||||
@@ -522,6 +533,18 @@ void SysTrayXLink::slotPollIntervalChange()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handle the minimize type change signal
|
||||||
|
*/
|
||||||
|
void SysTrayXLink::slotMinimizeTypeChange()
|
||||||
|
{
|
||||||
|
if( m_pref->getAppPrefChanged() )
|
||||||
|
{
|
||||||
|
sendPreferences();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle a hide on minimize state change signal
|
* Handle a hide on minimize state change signal
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -196,6 +196,11 @@ class SysTrayXLink : public QObject
|
|||||||
*/
|
*/
|
||||||
void slotPollIntervalChange();
|
void slotPollIntervalChange();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief slotMinimizeTypeChange. Slot for handling minimize type change signals.
|
||||||
|
*/
|
||||||
|
void slotMinimizeTypeChange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief slotHideOnMinimizeChange. Handle a change in hide on minimize state.
|
* @brief slotHideOnMinimizeChange. Handle a change in hide on minimize state.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ QList< quint64 > WindowCtrlUnix::getWinIds()
|
|||||||
/*
|
/*
|
||||||
* Minimize a window
|
* Minimize a window
|
||||||
*/
|
*/
|
||||||
void WindowCtrlUnix::minimizeWindow( quint64 window, bool hide )
|
void WindowCtrlUnix::minimizeWindow( quint64 window, int hide )
|
||||||
{
|
{
|
||||||
if( !isThunderbird( getPpid() ) )
|
if( !isThunderbird( getPpid() ) )
|
||||||
{
|
{
|
||||||
@@ -270,12 +270,18 @@ void WindowCtrlUnix::minimizeWindow( quint64 window, bool hide )
|
|||||||
|
|
||||||
Window win = static_cast<Window>( window );
|
Window win = static_cast<Window>( window );
|
||||||
|
|
||||||
if( hide )
|
if( hide == Preferences::PREF_MINIMIZE_METHOD_1 )
|
||||||
{
|
{
|
||||||
hideWindow( win, hide );
|
hideWindow( win, hide );
|
||||||
}
|
}
|
||||||
|
|
||||||
XIconifyWindow( m_display, win, m_screen );
|
XIconifyWindow( m_display, win, m_screen );
|
||||||
|
|
||||||
|
if( hide == Preferences::PREF_MINIMIZE_METHOD_2 )
|
||||||
|
{
|
||||||
|
hideWindow( win, hide );
|
||||||
|
}
|
||||||
|
|
||||||
XFlush( m_display );
|
XFlush( m_display );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ class WindowCtrlUnix : public QObject
|
|||||||
* @param window The window.
|
* @param window The window.
|
||||||
* @param hide Hide from taskbar.
|
* @param hide Hide from taskbar.
|
||||||
*/
|
*/
|
||||||
void minimizeWindow( quint64 window, bool hide );
|
void minimizeWindow( quint64 window, int hide );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief normalizeWindow. Normalize window.
|
* @brief normalizeWindow. Normalize window.
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ QList< quint64 > WindowCtrlWin::getWinIds()
|
|||||||
/*
|
/*
|
||||||
* Minimize a window
|
* Minimize a window
|
||||||
*/
|
*/
|
||||||
void WindowCtrlWin::minimizeWindow( quint64 window, bool hide )
|
void WindowCtrlWin::minimizeWindow( quint64 window, int hide )
|
||||||
{
|
{
|
||||||
if( !isThunderbird( getPpid() ) )
|
if( !isThunderbird( getPpid() ) )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ class WindowCtrlWin : public QObject
|
|||||||
* @param window The window.
|
* @param window The window.
|
||||||
* @param hide Hide from taskbar
|
* @param hide Hide from taskbar
|
||||||
*/
|
*/
|
||||||
void minimizeWindow( quint64 window, bool hide );
|
void minimizeWindow( quint64 window, int hide );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief normalizeWindow. Normalize window.
|
* @brief normalizeWindow. Normalize window.
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ WindowCtrl::WindowCtrl( Preferences* pref, QObject *parent )
|
|||||||
/*
|
/*
|
||||||
* Initialize
|
* Initialize
|
||||||
*/
|
*/
|
||||||
|
m_minimize_type = m_pref->getMinimizeType();
|
||||||
m_hide_minimize = m_pref->getHideOnMinimize();
|
m_hide_minimize = m_pref->getHideOnMinimize();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -110,6 +111,15 @@ void WindowCtrl::slotWindowTitle( QString title )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handle change in minimize type change
|
||||||
|
*/
|
||||||
|
void WindowCtrl::slotMinimizeTypeChange()
|
||||||
|
{
|
||||||
|
m_minimize_type = m_pref->getMinimizeType();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Handle change in hide on minimize state
|
* Handle change in hide on minimize state
|
||||||
*/
|
*/
|
||||||
@@ -162,7 +172,8 @@ void WindowCtrl::slotShowHide()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_state = "minimized";
|
m_state = "minimized";
|
||||||
minimizeWindow( getWinId(), m_hide_minimize );
|
minimizeWindow( getWinId(), m_minimize_type );
|
||||||
|
// minimizeWindow( getWinId(), m_hide_minimize );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,17 +64,18 @@ class WindowCtrl : public QObject
|
|||||||
*/
|
*/
|
||||||
void slotWindowTitle( QString title );
|
void slotWindowTitle( QString title );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief slotMinimizeTypeChange. Handle the minimize type signal.
|
||||||
|
*/
|
||||||
|
void slotMinimizeTypeChange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief slotHideOnMinimizeChange. Handle the hide on minimize signal.
|
* @brief slotHideOnMinimizeChange. Handle the hide on minimize signal.
|
||||||
*
|
|
||||||
* @param state The state
|
|
||||||
*/
|
*/
|
||||||
void slotHideOnMinimizeChange();
|
void slotHideOnMinimizeChange();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief slotStartMinimizedChange. Handle the start minimized signal.
|
* @brief slotStartMinimizedChange. Handle the start minimized signal.
|
||||||
*
|
|
||||||
* @param state The state
|
|
||||||
*/
|
*/
|
||||||
void slotStartMinimizedChange();
|
void slotStartMinimizedChange();
|
||||||
|
|
||||||
@@ -122,6 +123,11 @@ class WindowCtrl : public QObject
|
|||||||
*/
|
*/
|
||||||
QString m_window_title;
|
QString m_window_title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief m_minimize_type. Minimize type.
|
||||||
|
*/
|
||||||
|
int m_minimize_type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief m_hide_minimize. State of hide on minimize.
|
* @brief m_hide_minimize. State of hide on minimize.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ SysTrayX.Messaging = {
|
|||||||
"debug",
|
"debug",
|
||||||
"pollStartupDelay",
|
"pollStartupDelay",
|
||||||
"pollInterval",
|
"pollInterval",
|
||||||
|
"minimizeType",
|
||||||
"hideOnMinimize",
|
"hideOnMinimize",
|
||||||
"startMinimized",
|
"startMinimized",
|
||||||
"iconType",
|
"iconType",
|
||||||
@@ -169,6 +170,7 @@ SysTrayX.Messaging = {
|
|||||||
const debug = result.debug || "false";
|
const debug = result.debug || "false";
|
||||||
const pollStartupDelay = result.pollStartupDelay || "30";
|
const pollStartupDelay = result.pollStartupDelay || "30";
|
||||||
const pollInterval = result.pollInterval || "30";
|
const pollInterval = result.pollInterval || "30";
|
||||||
|
const minimizeType = result.minimizeType || "0";
|
||||||
const hideOnMinimize = result.hideOnMinimize || "true";
|
const hideOnMinimize = result.hideOnMinimize || "true";
|
||||||
const startMinimized = result.startMinimized || "false";
|
const startMinimized = result.startMinimized || "false";
|
||||||
const iconType = result.iconType || "0";
|
const iconType = result.iconType || "0";
|
||||||
@@ -183,6 +185,7 @@ SysTrayX.Messaging = {
|
|||||||
debug: debug,
|
debug: debug,
|
||||||
pollStartupDelay: pollStartupDelay,
|
pollStartupDelay: pollStartupDelay,
|
||||||
pollInterval: pollInterval,
|
pollInterval: pollInterval,
|
||||||
|
minimizeType: minimizeType,
|
||||||
hideOnMinimize: hideOnMinimize,
|
hideOnMinimize: hideOnMinimize,
|
||||||
startMinimized: startMinimized,
|
startMinimized: startMinimized,
|
||||||
iconType: iconType,
|
iconType: iconType,
|
||||||
@@ -317,6 +320,13 @@ SysTrayX.Link = {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const minimizeType = response["preferences"].minimizeType;
|
||||||
|
if (minimizeType) {
|
||||||
|
browser.storage.sync.set({
|
||||||
|
minimizeType: minimizeType,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const hideOnMinimize = response["preferences"].hideOnMinimize;
|
const hideOnMinimize = response["preferences"].hideOnMinimize;
|
||||||
if (hideOnMinimize) {
|
if (hideOnMinimize) {
|
||||||
browser.storage.sync.set({
|
browser.storage.sync.set({
|
||||||
|
|||||||
@@ -60,6 +60,13 @@ body {
|
|||||||
color: dodgerblue;
|
color: dodgerblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#minimizeselect {
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
margin: 10px 10px 10px 10px;
|
||||||
|
padding: 10px 10px 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
#iconselect {
|
#iconselect {
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
|
|||||||
@@ -32,6 +32,26 @@
|
|||||||
<div id="WindowsContent" class="tabcontent" style="display: block;">
|
<div id="WindowsContent" class="tabcontent" style="display: block;">
|
||||||
<form>
|
<form>
|
||||||
<h3>Windows</h3>
|
<h3>Windows</h3>
|
||||||
|
<table id="minimizeselect">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="radio" name="minimizeType" value="0" /> Default minimize
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="radio" name="minimizeType" value="1" /> Minimize to
|
||||||
|
tray, method 1
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input type="radio" name="minimizeType" value="2" /> Minimize to
|
||||||
|
tray, method 2
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
<input type="checkbox" name="hideOnMinimize" value="" /> Minimizing
|
<input type="checkbox" name="hideOnMinimize" value="" /> Minimizing
|
||||||
window hides to tray<br />
|
window hides to tray<br />
|
||||||
<input type="checkbox" name="startMinimized" value="" /> Start
|
<input type="checkbox" name="startMinimized" value="" /> Start
|
||||||
|
|||||||
@@ -69,6 +69,17 @@ SysTrayX.SaveOptions = {
|
|||||||
debug: `${debug}`,
|
debug: `${debug}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//
|
||||||
|
// Save minimize preferences
|
||||||
|
//
|
||||||
|
const minimizeType = document.querySelector('input[name="minimizeType"]:checked')
|
||||||
|
.value;
|
||||||
|
|
||||||
|
// Store minimize preferences
|
||||||
|
browser.storage.sync.set({
|
||||||
|
minimizeType: minimizeType,
|
||||||
|
});
|
||||||
|
|
||||||
//
|
//
|
||||||
// Save hide on minimize state
|
// Save hide on minimize state
|
||||||
//
|
//
|
||||||
@@ -142,6 +153,15 @@ SysTrayX.RestoreOptions = {
|
|||||||
SysTrayX.RestoreOptions.onDebugError
|
SysTrayX.RestoreOptions.onDebugError
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Restore minimize type
|
||||||
|
//
|
||||||
|
const getMinimizeType = browser.storage.sync.get("minimizeType");
|
||||||
|
getMinimizeType.then(
|
||||||
|
SysTrayX.RestoreOptions.setMinimizeType,
|
||||||
|
SysTrayX.RestoreOptions.onMinimizeTypeError
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Restore hide on minimize
|
// Restore hide on minimize
|
||||||
//
|
//
|
||||||
@@ -229,6 +249,19 @@ SysTrayX.RestoreOptions = {
|
|||||||
console.log(`Debug Error: ${error}`);
|
console.log(`Debug Error: ${error}`);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//
|
||||||
|
// Restore minimize type callbacks
|
||||||
|
//
|
||||||
|
setMinimizeType: function (result) {
|
||||||
|
const minimizeType = result.minimizeType || "0";
|
||||||
|
const radioButton = document.querySelector(`input[name="minimizeType"][value="${minimizeType}"]`);
|
||||||
|
radioButton.checked = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
onMinimizeTypeError: function (error) {
|
||||||
|
console.log(`Minimize type Error: ${error}`);
|
||||||
|
},
|
||||||
|
|
||||||
//
|
//
|
||||||
// Restore hide on minimize callbacks
|
// Restore hide on minimize callbacks
|
||||||
//
|
//
|
||||||
@@ -262,7 +295,7 @@ SysTrayX.RestoreOptions = {
|
|||||||
//
|
//
|
||||||
setIconType: function (result) {
|
setIconType: function (result) {
|
||||||
const iconType = result.iconType || "0";
|
const iconType = result.iconType || "0";
|
||||||
const radioButton = document.querySelector(`[value="${iconType}"]`);
|
const radioButton = document.querySelector(`input[name="iconType"][value="${iconType}"]`);
|
||||||
radioButton.checked = true;
|
radioButton.checked = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -409,6 +442,11 @@ SysTrayX.StorageChanged = {
|
|||||||
numberColor: changes[item].newValue,
|
numberColor: changes[item].newValue,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (item === "minimizeType") {
|
||||||
|
SysTrayX.RestoreOptions.setMinimizeType({
|
||||||
|
minimizeType: changes[item].newValue,
|
||||||
|
});
|
||||||
|
}
|
||||||
if (item === "hideOnMinimize") {
|
if (item === "hideOnMinimize") {
|
||||||
SysTrayX.RestoreOptions.setHideOnMinimize({
|
SysTrayX.RestoreOptions.setHideOnMinimize({
|
||||||
hideOnMinimize: changes[item].newValue,
|
hideOnMinimize: changes[item].newValue,
|
||||||
@@ -445,6 +483,7 @@ SysTrayX.StorageChanged = {
|
|||||||
//
|
//
|
||||||
document.getElementById("debugselect").className = "active";
|
document.getElementById("debugselect").className = "active";
|
||||||
document.getElementById("iconselect").className = "active";
|
document.getElementById("iconselect").className = "active";
|
||||||
|
document.getElementById("minimizeselect").className = "active";
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user