Обновлено:

- С помощью флага IUP_WITH_SOUND_CHECKBOX скрытие настроек звука при компиляции программы
Новое:
- Параметр отключения декорации окон
This commit is contained in:
Alexander Zhirov 2023-02-16 15:38:49 +03:00
parent cb6ec47e5b
commit 4dea975c45
6 changed files with 48 additions and 35 deletions

View File

@ -35,7 +35,8 @@ git apply ../GUI-FreeRDP/xrandr.patch
## Сборка ## Сборка
Параметр `WITH_COLOR_BUTTONS` отвечает за окрашивание кнопок. Параметр `IUP_WITH_COLOR_BUTTONS` отвечает за окрашивание кнопок (по умолчанию `OFF`).
Параметр `IUP_WITH_SOUND_CHECKBOX` включает поддержку параметров звука (по умолчанию `OFF`).
Создать отдельный каталог `build`: Создать отдельный каталог `build`:
@ -47,7 +48,7 @@ cd build
и выполнить в нём сборку: и выполнить в нём сборку:
```sh ```sh
cmake -B . -S .. \ cmake -B . -S ../freerdp-2.9.0 \
-DWITH_WAYLAND=OFF \ -DWITH_WAYLAND=OFF \
-DWITH_OSS=OFF \ -DWITH_OSS=OFF \
-DWITH_ALSA=OFF \ -DWITH_ALSA=OFF \
@ -63,7 +64,8 @@ cmake -B . -S .. \
-DWITH_DSP_FFMPEG=OFF \ -DWITH_DSP_FFMPEG=OFF \
-DWITH_FAAC=OFF \ -DWITH_FAAC=OFF \
-DWITH_SSE2=ON \ -DWITH_SSE2=ON \
-DWITH_COLOR_BUTTONS=ON \ -DIUP_WITH_COLOR_BUTTONS=OFF \
-DIUP_WITH_SOUND_CHECKBOX=OFF \
-DBUILD_SHARED_LIBS=OFF -DBUILD_SHARED_LIBS=OFF
``` ```

Binary file not shown.

View File

@ -39,7 +39,7 @@ static int activeBtnConnect(Ihandle *self, int c, char *value)
if (!strcmp(value, "\0") || isEmptyFieldServerUser(self)) if (!strcmp(value, "\0") || isEmptyFieldServerUser(self))
{ {
IupSetInt(IupGetDialogChild(self, "CONNECT"), "ACTIVE", 0); IupSetInt(IupGetDialogChild(self, "CONNECT"), "ACTIVE", 0);
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "BGCOLOR", "49 54 61"); IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "BGCOLOR", "49 54 61");
IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "FGCOLOR", "238 238 238"); IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "FGCOLOR", "238 238 238");
#endif #endif
@ -47,7 +47,7 @@ static int activeBtnConnect(Ihandle *self, int c, char *value)
else else
{ {
IupSetInt(IupGetDialogChild(self, "CONNECT"), "ACTIVE", 1); IupSetInt(IupGetDialogChild(self, "CONNECT"), "ACTIVE", 1);
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "BGCOLOR", "0 179 0"); IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "BGCOLOR", "0 179 0");
IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "FGCOLOR", "255 255 255"); IupSetAttribute(IupGetDialogChild(self, "CONNECT"), "FGCOLOR", "255 255 255");
#endif #endif
@ -188,7 +188,7 @@ Ihandle* guiStart()
IupSetHandle("CONNECT", btnConnect); IupSetHandle("CONNECT", btnConnect);
IupSetAttribute(btnConnect, "NAME", "CONNECT"); IupSetAttribute(btnConnect, "NAME", "CONNECT");
IupSetAttribute(btnConnect, "TIP", "Выполнить подключение"); IupSetAttribute(btnConnect, "TIP", "Выполнить подключение");
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(btnConnect, "BGCOLOR", "0 179 0"); IupSetAttribute(btnConnect, "BGCOLOR", "0 179 0");
IupSetAttribute(btnConnect, "FGCOLOR", "255 255 255"); IupSetAttribute(btnConnect, "FGCOLOR", "255 255 255");
#endif #endif
@ -197,7 +197,7 @@ Ihandle* guiStart()
IupSetHandle("CLOSE", btnClose); IupSetHandle("CLOSE", btnClose);
IupSetAttribute(btnClose, "NAME", "CLOSE"); IupSetAttribute(btnClose, "NAME", "CLOSE");
IupSetAttribute(btnClose, "TIP", "Закрыть FreeRDP"); IupSetAttribute(btnClose, "TIP", "Закрыть FreeRDP");
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(btnClose, "BGCOLOR", "204 0 0"); IupSetAttribute(btnClose, "BGCOLOR", "204 0 0");
IupSetAttribute(btnClose, "FGCOLOR", "255 255 255"); IupSetAttribute(btnClose, "FGCOLOR", "255 255 255");
#endif #endif
@ -205,7 +205,7 @@ Ihandle* guiStart()
btnSettings = IupButton("Настройки", NULL); btnSettings = IupButton("Настройки", NULL);
IupSetAttribute(btnSettings, "NAME", "SETTINGS"); IupSetAttribute(btnSettings, "NAME", "SETTINGS");
IupSetAttribute(btnSettings, "TIP", "Перейти в настройки"); IupSetAttribute(btnSettings, "TIP", "Перейти в настройки");
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(btnSettings, "BGCOLOR", "0 136 204"); IupSetAttribute(btnSettings, "BGCOLOR", "0 136 204");
IupSetAttribute(btnSettings, "FGCOLOR", "255 255 255"); IupSetAttribute(btnSettings, "FGCOLOR", "255 255 255");
#endif #endif

View File

@ -27,7 +27,8 @@ typedef enum
PARAMETER_AUTHENTICATION, PARAMETER_AUTHENTICATION,
PARAMETER_SECURITY, PARAMETER_SECURITY,
PARAMETER_BITSPERPIXEL, PARAMETER_BITSPERPIXEL,
PARAMETER_USB PARAMETER_USB,
PARAMETER_DECORATIONS
} Parameter; } Parameter;
#endif /* PARAMETERS_H_ */ #endif /* PARAMETERS_H_ */

View File

@ -63,6 +63,12 @@ static int settingsTglWallpaper(Ihandle *self)
return IUP_DEFAULT; return IUP_DEFAULT;
} }
static int settingsTglDecorations(Ihandle *self)
{
changeParameter(PARAMETER_DECORATIONS);
return IUP_DEFAULT;
}
static int settingsTglSound(Ihandle *self) static int settingsTglSound(Ihandle *self)
{ {
changeParameter(PARAMETER_SOUND); changeParameter(PARAMETER_SOUND);
@ -204,12 +210,13 @@ static int settingsTglFullscreen(Ihandle *self)
*/ */
static Ihandle* settingsBoxCheckbox() static Ihandle* settingsBoxCheckbox()
{ {
Ihandle *tglAuthentication, *tglCertIgnore, *tglThemes, *tglWallpaper, *tglSound, *tglFonts, *tglEncryption, *tglCompression; Ihandle *tglAuthentication, *tglCertIgnore, *tglThemes, *tglWallpaper, *tglDecorations, *tglSound, *tglFonts, *tglEncryption, *tglCompression;
tglAuthentication = IupToggle("Аутентификация", NULL); tglAuthentication = IupToggle("Аутентификация", NULL);
tglCertIgnore = IupToggle("Игнорировать сертификат", NULL); tglCertIgnore = IupToggle("Игнорировать сертификат", NULL);
tglThemes = IupToggle("Отключить темы", NULL); tglThemes = IupToggle("Отключить темы", NULL);
tglWallpaper = IupToggle("Отключить обои", NULL); tglWallpaper = IupToggle("Отключить обои", NULL);
tglDecorations = IupToggle("Отключить оформление окон", NULL);
tglSound = IupToggle("Поддержка звука", NULL); tglSound = IupToggle("Поддержка звука", NULL);
tglFonts = IupToggle("Отключить прорисовку шрифтов", NULL); tglFonts = IupToggle("Отключить прорисовку шрифтов", NULL);
@ -220,6 +227,7 @@ static Ihandle* settingsBoxCheckbox()
IupSetInt(tglCertIgnore, "VALUE", getSetParameter(PARAMETER_CERTIGNORE)); IupSetInt(tglCertIgnore, "VALUE", getSetParameter(PARAMETER_CERTIGNORE));
IupSetInt(tglThemes, "VALUE", getSetParameter(PARAMETER_THEMES)); IupSetInt(tglThemes, "VALUE", getSetParameter(PARAMETER_THEMES));
IupSetInt(tglWallpaper, "VALUE", getSetParameter(PARAMETER_WALLPAPER)); IupSetInt(tglWallpaper, "VALUE", getSetParameter(PARAMETER_WALLPAPER));
IupSetInt(tglDecorations, "VALUE", getSetParameter(PARAMETER_DECORATIONS));
IupSetInt(tglSound, "VALUE", getSetParameter(PARAMETER_SOUND)); IupSetInt(tglSound, "VALUE", getSetParameter(PARAMETER_SOUND));
IupSetInt(tglFonts, "VALUE", getSetParameter(PARAMETER_FONTS)); IupSetInt(tglFonts, "VALUE", getSetParameter(PARAMETER_FONTS));
IupSetInt(tglEncryption, "VALUE", getSetParameter(PARAMETER_ENCRYPTION)); IupSetInt(tglEncryption, "VALUE", getSetParameter(PARAMETER_ENCRYPTION));
@ -228,23 +236,21 @@ static Ihandle* settingsBoxCheckbox()
return IupSetAttributes( return IupSetAttributes(
IupFrame( IupFrame(
IupVbox( IupVbox(
IupSetCallbacks(IupSetAttributes(tglAuthentication, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Получить окно входа авторизации\""), "ACTION", IupSetCallbacks(IupSetAttributes(tglAuthentication, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Получить окно входа авторизации\""), "ACTION", (Icallback) settingsTglAuthentication, NULL),
(Icallback) settingsTglAuthentication, NULL), IupSetCallbacks(IupSetAttributes(tglCertIgnore, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Игнорировать подтверждение принятия сертификата\""), "ACTION", (Icallback) settingsTglCertIgnore, NULL),
IupSetCallbacks(IupSetAttributes(tglCertIgnore, "NAME=SETTINGS_TGL_AUTHENTICATION, TIP=\"Игнорировать подтверждение принятия сертификата\""), "ACTION", IupSetCallbacks(IupSetAttributes(tglThemes, "NAME=SETTINGS_TGL_THEMES, TIP=\"Отключить поддержку тем оформления (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglThemes, NULL),
(Icallback) settingsTglCertIgnore, NULL), IupSetCallbacks(IupSetAttributes(tglWallpaper, "NAME=SETTINGS_TGL_WALLPAPER, TIP=\"Отключить поддержку обоев рабочего стола (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglWallpaper, NULL),
IupSetCallbacks(IupSetAttributes(tglThemes, "NAME=SETTINGS_TGL_THEMES, TIP=\"Отключить поддержку тем оформления (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglThemes, IupSetCallbacks(IupSetAttributes(tglDecorations, "NAME=SETTINGS_TGL_DECORATIONS, TIP=\"Отключить поддержку оформления окон (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglDecorations, NULL),
NULL), #ifdef IUP_WITH_SOUND_CHECKBOX
IupSetCallbacks(IupSetAttributes(tglWallpaper, "NAME=SETTINGS_TGL_WALLPAPER, TIP=\"Отключить поддержку обои рабочего стола (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglWallpaper, IupSetCallbacks(IupSetAttributes(tglSound, "NAME=SETTINGS_TGL_SOUND, TIP=\"Включить поддержку звука с удаленного сервера\""), "ACTION", (Icallback) settingsTglSound, NULL),
NULL), IupSetCallbacks(IupSetAttributes(tglSound, "NAME=SETTINGS_TGL_SOUND, TIP=\"Включить поддержку звука с удаленного сервера\""), "ACTION", (Icallback) settingsTglSound, #endif
NULL), IupSetCallbacks(IupSetAttributes(tglFonts, "NAME=SETTINGS_TGL_FONTS, TIP=\"Отключить прорисовку шрифтов (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglFonts, IupSetCallbacks(IupSetAttributes(tglFonts, "NAME=SETTINGS_TGL_FONTS, TIP=\"Отключить прорисовку шрифтов (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglFonts, NULL),
NULL), IupSetCallbacks(IupSetAttributes(tglEncryption, "NAME=SETTINGS_TGL_ENCRYPTION, TIP=\"Отключить шифрование данных\""), "ACTION", (Icallback) settingsTglEncryption, NULL),
IupSetCallbacks(IupSetAttributes(tglEncryption, "NAME=SETTINGS_TGL_ENCRYPTION, TIP=\"Отключить шифрование данных\""), "ACTION", IupSetCallbacks(IupSetAttributes(tglCompression, "NAME=SETTINGS_TGL_COMPRESSION, TIP=\"Включить сжатие данных (улучшает скорость соединения)\""), "ACTION", (Icallback) settingsTglCompression, NULL),
(Icallback) settingsTglEncryption, NULL
NULL), )
IupSetCallbacks(IupSetAttributes(tglCompression, "NAME=SETTINGS_TGL_COMPRESSION, TIP=\"Включить сжатие данных (улучшает скорость соединения)\""), "ACTION", ), "TITLE=\"Общие\", MARGIN=10x10"
(Icallback) settingsTglCompression, );
NULL),
NULL)), "TITLE=\"Общие\", MARGIN=10x10");
} }
static Ihandle* settingsBoxSecurity() static Ihandle* settingsBoxSecurity()
@ -368,7 +374,7 @@ static Ihandle* settingsHorizontalBoxButtons()
btnSave = IupButton("Сохранить", NULL); btnSave = IupButton("Сохранить", NULL);
IupSetAttribute(btnSave, "NAME", "SETTIGS_BTN_SAVE"); IupSetAttribute(btnSave, "NAME", "SETTIGS_BTN_SAVE");
IupSetAttribute(btnSave, "TIP", "Сохранить настройки"); IupSetAttribute(btnSave, "TIP", "Сохранить настройки");
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(btnSave, "BGCOLOR", "0 179 0"); IupSetAttribute(btnSave, "BGCOLOR", "0 179 0");
IupSetAttribute(btnSave, "FGCOLOR", "255 255 255"); IupSetAttribute(btnSave, "FGCOLOR", "255 255 255");
#endif #endif
@ -376,7 +382,7 @@ static Ihandle* settingsHorizontalBoxButtons()
btnClose = IupButton("Закрыть", NULL); btnClose = IupButton("Закрыть", NULL);
IupSetAttribute(btnClose, "NAME", "SETTIGS_BTN_CLOSE"); IupSetAttribute(btnClose, "NAME", "SETTIGS_BTN_CLOSE");
IupSetAttribute(btnClose, "TIP", "Отменить изменения"); IupSetAttribute(btnClose, "TIP", "Отменить изменения");
#ifdef WITH_COLOR_BUTTONS #ifdef IUP_WITH_COLOR_BUTTONS
IupSetAttribute(btnClose, "BGCOLOR", "204 0 0"); IupSetAttribute(btnClose, "BGCOLOR", "204 0 0");
IupSetAttribute(btnClose, "FGCOLOR", "255 255 255"); IupSetAttribute(btnClose, "FGCOLOR", "255 255 255");
#endif #endif

View File

@ -1,5 +1,5 @@
diff --git a/client/X11/CMakeLists.txt b/client/X11/CMakeLists.txt diff --git a/client/X11/CMakeLists.txt b/client/X11/CMakeLists.txt
index 869652c..0588402 100644 index 869652c..e30acc5 100644
--- a/client/X11/CMakeLists.txt --- a/client/X11/CMakeLists.txt
+++ b/client/X11/CMakeLists.txt +++ b/client/X11/CMakeLists.txt
@@ -57,6 +57,37 @@ set(${MODULE_PREFIX}_SRCS @@ -57,6 +57,37 @@ set(${MODULE_PREFIX}_SRCS
@ -49,12 +49,16 @@ index 869652c..0588402 100644
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp") set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "xfreerdp")
include_directories(..) include_directories(..)
@@ -226,13 +257,17 @@ if(WITH_XFIXES) @@ -226,13 +257,21 @@ if(WITH_XFIXES)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XFIXES_LIBRARIES}) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XFIXES_LIBRARIES})
endif() endif()
+if(WITH_COLOR_BUTTONS) +if(IUP_WITH_COLOR_BUTTONS)
+ add_definitions(-DWITH_COLOR_BUTTONS) + add_definitions(-DIUP_WITH_COLOR_BUTTONS)
+endif()
+
+if(IUP_WITH_SOUND_CHECKBOX)
+ add_definitions(-DIUP_WITH_SOUND_CHECKBOX)
+endif() +endif()
+ +
include_directories(${CMAKE_SOURCE_DIR}/resources) include_directories(${CMAKE_SOURCE_DIR}/resources)