更改现有GTK2应用程序的布局

时间:2016-01-08 20:03:06

标签: gtk

对于我的日常工作,我使用Xournal使用我的ThinkPad X220 Tablet笔输入笔记。不方便的是,即使在全屏幕上,屏幕顶部也有两个工具栏。它看起来像这样:

Current layout of Xournal

我的页面大约有100%的实际A4纸张尺寸。左侧和右侧有未使用的区域,因为这是一个16:9的屏幕。数字化仪在左右屏幕边缘也是非线性的,所以我喜欢在写作时保持清晰。

目前的设置我只有很多高度。工具栏可以向左或向右移动以提供更高的高度,如下所示:

Desired layout of Xournal

每个图标都会正常定向,我只是在快速模型中没有这样做。

我克隆了git存储库,找到了xournal.glade文件以及src/xo-interface.{c,h}。 Fedora 23上的Glade版本抱怨.glade文件的旧格式,因此我将其转换为gtk-builder-convert xournal.glade xournal-new.glade并能够打开新文件。

我唯一的GUI体验是使用Qt和Qt Designer。我查看了UI小部件,发现布局包含了我可以从“水平”到“垂直”设置的内容。整个窗口包含在“vbox”中。因此,在原始的,未转换的xournal.glade文件的XML代码中,我将HORIZONTAL更改为VERTICAL,将vbox更改为hbox。当我使用make重新编译项目时,UI看起来是一样的。

我认为我可能必须从Glade中生成一些C代码但却找不到任何东西。 Makefile显然没有调用任何可以将它转换为C代码的东西。

如何在新编辑中显示UI更改?

更新2016-05-15

现在我有更多时间深入研究这个问题。首先我发现在编译过程中并没有真正使用xournal.glade。更改任何内容都不会影响程序。在编译版本上运行strace src/xournal我发现它没有使用任何.glade文件。因此,必须将UI编译到程序中。这一步不能自动,我在makefile中找不到任何东西。

在Fedora 23上,打开xournal.glade会导致许多错误,弃用警告等。直到今天我才意识到我可以安装glade-2并打开它。这完美无瑕。我可以更改排序顺序并替换布局以反过来流动。导出功能已更新src/xo-interface.c,编译后我实际看到了更改后的版本:

enter image description here

这正是我想要的!现在我必须看看我是否可以做任何事情来在运行时更改它,并使其成为一个功能添加,而不仅仅是一个不兼容的分支。

0 个答案:

没有答案