mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
fixed IDEA-240623 KDE Global Menu does not work. But it's work with PhpStorm GitOrigin-RevId: 56b75d6ae4209a12dfc4fcbbc6e9486b07e868d2
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
//
|
|
// Created by parallels on 8/1/18.
|
|
//
|
|
|
|
#include "DbusMenuWrapper.h"
|
|
|
|
#include <gtk/gtk.h>
|
|
#include <gdk/gdkx.h>
|
|
|
|
static void _onDestroyWindow(void) {
|
|
gtk_main_quit();
|
|
return;
|
|
}
|
|
|
|
static void _testHandler(int uid, int evtype) {
|
|
int n = 0;
|
|
}
|
|
|
|
int main (int argv, char ** argc) {
|
|
gtk_init(&argv, &argc);
|
|
|
|
GtkWidget * window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
|
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(_onDestroyWindow), NULL);
|
|
|
|
gtk_widget_show(window);
|
|
|
|
// create register menu object for window
|
|
long wndxid = GDK_WINDOW_XID (gtk_widget_get_window (window));
|
|
WndInfo* wi = registerWindow(wndxid, &_testHandler);
|
|
|
|
// populate menu
|
|
DbusmenuMenuitem* root1 = addRootMenu(wi, 1, "root1");
|
|
|
|
FILE *f;
|
|
char buffer[1024*1024];
|
|
gsize length;
|
|
|
|
DbusmenuMenuitem* item1 = addMenuItem(root1, 2, "item1", ITEM_SIMPLE, 0);
|
|
// setItemIcon(item1, buffer, length);
|
|
DbusmenuMenuitem* sub1 = addMenuItem(item1, 3, "sub1", ITEM_SUBMENU, 0);
|
|
// setItemIcon(sub1, buffer, length);
|
|
|
|
// run main loop
|
|
gtk_main();
|
|
|
|
return 0;
|
|
}
|