Mercurial > dwindows
changeset 2284:3361ce6070ce
Add DW_FEATURE_TASK_BAR to the feature tests, for taskbar icon support.
Not having this earlier was probably an oversight, but added it because GTK4
removes the widget that allowed this support.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 03 Feb 2021 21:44:15 +0000 |
parents | 0c88059df8e9 |
children | 5113afb0aea9 |
files | dw.h dwtest.c gtk/dw.c gtk3/dw.c gtk4/dw.c mac/dw.m os2/dw.c win/dw.c |
diffstat | 8 files changed, 33 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/dw.h Wed Feb 03 20:55:51 2021 +0000 +++ b/dw.h Wed Feb 03 21:44:15 2021 +0000 @@ -1524,6 +1524,7 @@ DW_FEATURE_NOTIFICATION, /* Supports sending system notifications */ DW_FEATURE_UTF8_UNICODE, /* Supports UTF8 encoded Unicode text */ DW_FEATURE_MLE_RICH_EDIT, /* Supports Rich Edit based MLE control (Windows) */ + DW_FEATURE_TASK_BAR, /* Supports icons in the taskbar or similar system widget */ DW_FEATURE_MAX } DWFEATURE;
--- a/dwtest.c Wed Feb 03 20:55:51 2021 +0000 +++ b/dwtest.c Wed Feb 03 21:44:15 2021 +0000 @@ -1987,6 +1987,7 @@ "Supports sending system notifications", "Supports UTF8 encoded Unicode text", "Supports Rich Edit based MLE control (Windows)", + "Supports icons in the taskbar or similar system widget", NULL }; /*
--- a/gtk/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/gtk/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -13981,6 +13981,9 @@ #ifdef DW_INCLUDE_DEPRECATED case DW_FEATURE_MDI: #endif +#if GTK_CHECK_VERSION(2,10,0) + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_CONTAINER_STRIPE: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: @@ -14017,6 +14020,9 @@ #ifdef DW_INCLUDE_DEPRECATED case DW_FEATURE_MDI: #endif +#if GTK_CHECK_VERSION(2,10,0) + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_CONTAINER_STRIPE: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP:
--- a/gtk3/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/gtk3/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -12484,6 +12484,7 @@ #if !GTK_CHECK_VERSION(3,14,0) case DW_FEATURE_CONTAINER_STRIPE: #endif + case DW_FEATURE_TASK_BAR: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: return DW_FEATURE_ENABLED; @@ -12525,6 +12526,7 @@ #if !GTK_CHECK_VERSION(3,14,0) case DW_FEATURE_CONTAINER_STRIPE: #endif + case DW_FEATURE_TASK_BAR: case DW_FEATURE_UTF8_UNICODE: case DW_FEATURE_MLE_WORD_WRAP: return DW_ERROR_GENERAL;
--- a/gtk4/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/gtk4/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -2226,14 +2226,14 @@ { if(menu && *menu) { - GtkWidget *window; + GtkWidget *window = NULL; /* If it is a menu bar, try to delete the reference to it */ if(GTK_IS_POPOVER_MENU_BAR(*menu) && (window = GTK_WIDGET(g_object_get_data(G_OBJECT(*menu), "_dw_window")))) g_object_set_data(G_OBJECT(window), "_dw_menubar", NULL); /* Actually destroy the menu */ - if(GTK_IS_WIDGET(*menu)) + if(GTK_IS_WIDGET(*menu) && window) { GtkWidget *box = GTK_WIDGET(g_object_get_data(G_OBJECT(window), "_dw_grid")); if(box && GTK_IS_GRID(box))
--- a/mac/dw.m Wed Feb 03 20:55:51 2021 +0000 +++ b/mac/dw.m Wed Feb 03 21:44:15 2021 +0000 @@ -13096,6 +13096,9 @@ #ifdef BUILDING_FOR_MOUNTAIN_LION case DW_FEATURE_NOTIFICATION: #endif +#ifdef BUILDING_FOR_YOSEMITE + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_HTML: case DW_FEATURE_HTML_RESULT: case DW_FEATURE_CONTAINER_STRIPE: @@ -13153,6 +13156,9 @@ #ifdef BUILDING_FOR_MOUNTAIN_LION case DW_FEATURE_NOTIFICATION: #endif +#ifdef BUILDING_FOR_YOSEMITE + case DW_FEATURE_TASK_BAR: +#endif case DW_FEATURE_HTML: case DW_FEATURE_HTML_RESULT: case DW_FEATURE_CONTAINER_STRIPE:
--- a/os2/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/os2/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -13860,6 +13860,12 @@ case DW_FEATURE_NOTEBOOK_STATUS_TEXT: case DW_FEATURE_MDI: return DW_FEATURE_ENABLED; + case DW_FEATURE_TASK_BAR: + { + if(hwndTrayServer) + return DW_ERROR_ENABLED; + return DW_FEATURE_UNSUPPORTED; + } default: return DW_FEATURE_UNSUPPORTED; } @@ -13891,6 +13897,12 @@ case DW_FEATURE_NOTEBOOK_STATUS_TEXT: case DW_FEATURE_MDI: return DW_ERROR_GENERAL; + case DW_FEATURE_TASK_BAR: + { + if(hwndTrayServer) + return DW_ERROR_GENERAL; + return DW_FEATURE_UNSUPPORTED; + } /* These features are supported and configurable */ default: return DW_FEATURE_UNSUPPORTED;
--- a/win/dw.c Wed Feb 03 20:55:51 2021 +0000 +++ b/win/dw.c Wed Feb 03 21:44:15 2021 +0000 @@ -13891,6 +13891,7 @@ return DW_FEATURE_UNSUPPORTED; } #endif + case DW_FEATURE_TASK_BAR: default: return DW_FEATURE_UNSUPPORTED; } @@ -13969,6 +13970,8 @@ return DW_ERROR_GENERAL; } #endif + case DW_FEATURE_TASK_BAR: + return DW_ERROR_GENERAL; default: return DW_FEATURE_UNSUPPORTED; }