deskflow/src/lib/gui/dialogs/ServerConfigDialog.ui

1066 lines
35 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ServerConfigDialog</class>
<widget class="QDialog" name="ServerConfigDialog">
<property name="geometry">
2012-06-10 16:50:54 +00:00
<rect>
<x>0</x>
<y>0</y>
<width>814</width>
<height>588</height>
2012-06-10 16:50:54 +00:00
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
2012-06-10 16:50:54 +00:00
<string>Server Configuration</string>
</property>
<layout class="QVBoxLayout">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QTabWidget" name="tabWidget">
<widget class="QWidget" name="tabComputers">
<attribute name="title">
2021-05-14 11:04:20 +00:00
<string>Computers</string>
2012-06-10 16:50:54 +00:00
</attribute>
<layout class="QVBoxLayout">
2021-04-09 10:23:07 +00:00
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
2012-06-10 16:50:54 +00:00
<item>
<layout class="QHBoxLayout" name="layoutComputers">
<property name="spacing">
<number>6</number>
</property>
2012-06-10 16:50:54 +00:00
<item>
<widget class="TrashScreenWidget" name="lblRemoveScreen">
<property name="acceptDrops">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
<property name="toolTip">
<string>Drag a computer from the grid to the trashcan to remove it.</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="frameShape">
2025-01-30 04:45:28 +00:00
<enum>QFrame::Shape::StyledPanel</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="frameShadow">
2025-01-30 04:45:28 +00:00
<enum>QFrame::Shadow::Raised</enum>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
2021-04-09 10:00:10 +00:00
<item>
Refactored core process management and IPC client (#7425) * Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const
2024-08-07 14:05:18 +00:00
<spacer name="horizontalSpacer_21">
2021-04-09 10:00:10 +00:00
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2021-04-09 10:00:10 +00:00
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
2012-06-10 16:50:54 +00:00
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
2012-06-10 16:50:54 +00:00
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
2021-04-09 10:00:10 +00:00
<property name="maximumSize">
<size>
<width>310</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Configure the layout of your computer displays by dragging to where you want.</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="alignment">
2025-01-30 04:45:28 +00:00
<set>Qt::AlignmentFlag::AlignCenter</set>
2012-06-10 16:50:54 +00:00
</property>
<property name="wordWrap">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
2021-04-09 10:00:10 +00:00
<property name="indent">
<number>-1</number>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item>
Refactored core process management and IPC client (#7425) * Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const
2024-08-07 14:05:18 +00:00
<spacer name="horizontalSpacer_22">
2021-04-09 10:00:10 +00:00
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2012-06-10 16:50:54 +00:00
</property>
2021-04-09 10:00:10 +00:00
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
2012-06-10 16:50:54 +00:00
</property>
2021-04-09 10:00:10 +00:00
</spacer>
</item>
2025-01-30 04:45:28 +00:00
<item>
<widget class="NewScreenWidget" name="lblNewScreen">
<property name="toolTip">
<string>Drag to the grid to add a new computer.</string>
2025-01-30 04:45:28 +00:00
</property>
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
2012-06-10 16:50:54 +00:00
</property>
</widget>
2012-06-10 16:50:54 +00:00
</item>
</layout>
</item>
2021-04-09 10:59:10 +00:00
<item>
<spacer name="verticalSpacer">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2021-04-09 10:59:10 +00:00
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Fixed</enum>
2021-04-09 10:59:10 +00:00
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
2012-06-10 16:50:54 +00:00
<item>
<widget class="ScreenSetupView" name="screenSetupView">
2021-04-09 10:59:10 +00:00
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="acceptDrops">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
<property name="autoFillBackground">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabHotkeys">
<attribute name="title">
2012-06-10 16:50:54 +00:00
<string>Hotkeys</string>
</attribute>
<layout class="QHBoxLayout" name="_2">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QGroupBox" name="groupHotkeys">
<property name="title">
2012-06-10 16:50:54 +00:00
<string>&amp;Hotkeys</string>
</property>
<layout class="QGridLayout" name="_3">
<item row="0" column="0" rowspan="4">
<widget class="QListWidget" name="listHotkeys"/>
2012-06-10 16:50:54 +00:00
</item>
<item row="0" column="1">
<widget class="QPushButton" name="btnNewHotkey">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>&amp;New</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btnEditHotkey">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>&amp;Edit</string>
</property>
<property name="icon">
<iconset theme="document-edit"/>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="btnRemoveHotkey">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>&amp;Remove</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item row="3" column="1">
<spacer name="hotkeySpacer">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>75</width>
<height>161</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupActions">
<property name="font">
<font>
<kerning>true</kerning>
</font>
</property>
<property name="title">
2012-06-10 16:50:54 +00:00
<string>A&amp;ctions</string>
</property>
<layout class="QGridLayout">
<item row="0" column="0" rowspan="4">
<widget class="QListWidget" name="listActions"/>
2012-06-10 16:50:54 +00:00
</item>
<item row="0" column="1">
<widget class="QPushButton" name="btnNewAction">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>Ne&amp;w</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListAdd"/>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="btnEditAction">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>E&amp;dit</string>
</property>
<property name="icon">
<iconset theme="document-edit"/>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="btnRemoveAction">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>Re&amp;move</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::ListRemove"/>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item row="3" column="1">
<spacer name="actionSpacer">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabAdvanced">
<attribute name="title">
<string>Advanced</string>
2012-06-10 16:50:54 +00:00
</attribute>
<layout class="QGridLayout" name="m_pGridCorners">
<item row="0" column="1">
<widget class="QGroupBox" name="groupCorners">
<property name="font">
<font>
<kerning>true</kerning>
</font>
</property>
<property name="title">
<string>&amp;Dead corners (for this computer)</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="topMargin">
<number>6</number>
</property>
<item>
<layout class="QGridLayout" name="m_pLayoutCorners">
<item row="1" column="0">
<widget class="QCheckBox" name="cbCornerBottomLeft">
<property name="text">
<string>&amp;Bottom-left</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="cbCornerTopLeft">
<property name="text">
<string>To&amp;p-left</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="cbCornerBottomRight">
<property name="text">
<string>Bottom-ri&amp;ght</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="cbCornerTopRight">
<property name="text">
<string>Top-rig&amp;ht</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="m_pLayoutCornerSize">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Cor&amp;ner size</string>
</property>
<property name="buddy">
<cstring>sbSwitchCornerSize</cstring>
2012-06-10 16:50:54 +00:00
</property>
</widget>
2012-06-10 16:50:54 +00:00
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>40</width>
<height>20</height>
2012-06-10 16:50:54 +00:00
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="sbSwitchCornerSize">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string>px</string>
</property>
<property name="maximum">
<number>30000</number>
</property>
</widget>
</item>
2012-06-10 16:50:54 +00:00
</layout>
</item>
<item>
<spacer name="verticalSpacer_7">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-06-10 16:50:54 +00:00
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="groupMisc">
<property name="font">
<font>
<kerning>false</kerning>
</font>
</property>
<property name="title">
<string>&amp;Misc</string>
2012-06-10 16:50:54 +00:00
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="cbDisableLockToScreen">
<property name="text">
<string>Disable lock to computer (scroll lock key)</string>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbRelativeMouseMoves">
<property name="enabled">
<bool>true</bool>
2012-06-10 16:50:54 +00:00
</property>
<property name="text">
<string>Use &amp;relative mouse movements</string>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="cbWin32KeepForeground">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Don't take &amp;foreground window (Windows only)</string>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="layoutClipboard">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QCheckBox" name="cbEnableClipboard">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Enable clipboard sharing</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="checked">
<bool>true</bool>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Limit to:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="sbClipboardSizeLimit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string>MB</string>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
2012-06-10 16:50:54 +00:00
</layout>
</item>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
2012-06-10 16:50:54 +00:00
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="groupNetwork">
<property name="title">
<string>&amp;Network</string>
2012-06-10 16:50:54 +00:00
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout" name="_4">
<property name="spacing">
<number>9</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="cbHeartbeat">
<property name="enabled">
<bool>true</bool>
</property>
<property name="whatsThis">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enables the network heartbeat to ping clients every &lt;span style=&quot; font-style:italic;&quot;&gt;n&lt;/span&gt; seconds. This may help to diagnose network problems by retrying the connection if the client becomes unresponsive.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>&amp;Check clients every</string>
</property>
</widget>
</item>
<item>
<spacer name="spacerNetwork">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="sbHeartbeat">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string>ms</string>
</property>
<property name="minimum">
<number>1000</number>
</property>
<property name="maximum">
<number>30000</number>
</property>
<property name="singleStep">
<number>1000</number>
</property>
<property name="value">
<number>5000</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="labelProtocol">
<property name="whatsThis">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enables compatibility with programs that use either the Synergy or Barrier protocols:&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Synergy 3 uses the Synergy protocol.&lt;/li&gt;&lt;li style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Barrier, Input-Leap and Synergy 1 uses the Barrier protocol.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A Deskflow client will automatically use either the Synergy or Barrier protocol depending on the server protocol.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Network protocol</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QRadioButton" name="rbProtocolSynergy">
<property name="text">
<string>&amp;Synergy</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rbProtocolBarrier">
<property name="text">
<string>&amp;Barrier</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="groupSwitch">
<property name="font">
<font>
<kerning>true</kerning>
</font>
</property>
<property name="title">
<string>&amp;Switching</string>
</property>
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout" name="_5">
<item>
<widget class="QCheckBox" name="cbSwitchDelay">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Switch &amp;after waiting</string>
</property>
</widget>
</item>
<item>
<spacer name="spacerSwitchWait">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="sbSwitchDelay">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string>ms</string>
</property>
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>250</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="_6">
<item>
<widget class="QCheckBox" name="cbSwitchDoubleTap">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Switch on double &amp;tap within</string>
</property>
</widget>
</item>
<item>
<spacer name="spacerDoubleTap">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="sbSwitchDoubleTap">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="suffix">
<string>ms</string>
</property>
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>250</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_5">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-06-10 16:50:54 +00:00
</item>
<item row="2" column="0">
<spacer name="verticalSpacer_2">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>20</width>
<height>40</height>
2012-06-10 16:50:54 +00:00
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabConfigFile">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<attribute name="title">
<string>Config file</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="topMargin">
<number>20</number>
</property>
<item>
<widget class="QLabel" name="label_5">
<property name="font">
<font>
<pointsize>18</pointsize>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Core server config file</string>
</property>
<property name="textFormat">
2025-01-30 04:45:28 +00:00
<enum>Qt::TextFormat::PlainText</enum>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Use a server config file to create complex computer layouts that are not possible with the simple grid-based computer layout editor.
Enabling this setting will disable the server config GUI.</string>
</property>
<property name="textFormat">
2025-01-30 04:45:28 +00:00
<enum>Qt::TextFormat::MarkdownText</enum>
</property>
<property name="alignment">
2025-01-30 04:45:28 +00:00
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="groupExternalConfig">
<property name="title">
<string>Use a server config file</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="labelConfigFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>96</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Config file path</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>13</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="lineConfigFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>180</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnBrowseConfigFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="text">
<string/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
Refactored core process management and IPC client (#7425) * Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const
2024-08-07 14:05:18 +00:00
<spacer name="verticalSpacer_1">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="standardButtons">
2025-01-30 04:45:28 +00:00
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ScreenSetupView</class>
<extends>QTableView</extends>
<header>widgets/ScreenSetupView.h</header>
2012-06-10 16:50:54 +00:00
<container>1</container>
</customwidget>
<customwidget>
<class>TrashScreenWidget</class>
<extends>QLabel</extends>
<header>widgets/TrashScreenWidget.h</header>
2012-06-10 16:50:54 +00:00
</customwidget>
2025-01-30 04:45:28 +00:00
<customwidget>
<class>NewScreenWidget</class>
<extends>QLabel</extends>
<header>widgets/NewScreenWidget.h</header>
</customwidget>
2012-06-10 16:50:54 +00:00
</customwidgets>
<tabstops>
<tabstop>screenSetupView</tabstop>
<tabstop>listHotkeys</tabstop>
<tabstop>btnNewHotkey</tabstop>
<tabstop>btnEditHotkey</tabstop>
<tabstop>btnRemoveHotkey</tabstop>
<tabstop>listActions</tabstop>
<tabstop>btnNewAction</tabstop>
<tabstop>btnEditAction</tabstop>
<tabstop>btnRemoveAction</tabstop>
<tabstop>cbSwitchDelay</tabstop>
<tabstop>sbSwitchDelay</tabstop>
<tabstop>cbSwitchDoubleTap</tabstop>
<tabstop>sbSwitchDoubleTap</tabstop>
<tabstop>cbEnableClipboard</tabstop>
<tabstop>sbClipboardSizeLimit</tabstop>
<tabstop>cbHeartbeat</tabstop>
<tabstop>sbHeartbeat</tabstop>
<tabstop>cbRelativeMouseMoves</tabstop>
<tabstop>sbSwitchCornerSize</tabstop>
<tabstop>lineConfigFile</tabstop>
<tabstop>tabWidget</tabstop>
</tabstops>
<resources/>
<connections/>
2012-06-10 16:50:54 +00:00
</ui>