Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : KDE-Projekt: Menüeinträge ändern?



Boron
05-06-2002, 12:11
Hallo zusammen,

ich benutze KDevelop-2.0.2 auf KDE-2.2.2 und Qt-2.3.1.
Jetzt habe ich in KDevelop ein "normales" KDE-Projekt erstellen lassen. Es erhält automatisch einen MenuBar, einen ToolBar und einen StatusBar.
Das Hauptfenster ist von KMainWindow abgeleitet.
Jetzt würde ich gerne die Menüeinträge ändern. Will heißen, dort wo jetzt noch im File-Menu der Eintrag "New" steht, würde ich gern "New Database" stehen haben.

Leider habe ich im gesamtem Quelltext keinelei Code gefunden, in dem die Menüstruktur erstellt wird. Das scheint irgendwie bereits in KMainWindow gemacht zu werden vermute ich mal.

Wie kann ich den Text der Menüeinträge ändern ?

Gruss Boron

anda_skoa
05-06-2002, 17:05
In der von KMainWindow abgeleiteten Klasse sollte eine Methode initActions sein.

Dort werden die KActions definiert und mit ihren slots verbunden.

Die Actions, ihre Namen, und ihre Postition, wird in einem XML File festgelegt.
Die Datei heißt appnameui.rc

Natürlich kannst du Actions auch ohne Eintrag in dem GUI file machen, aber man sollte, wenn möglich.

Siehe dazu das entsprechende Tutorial aus developer.kde.org
Leider ist die Site von hier gerade nicht zu erreichen, sonst hätte ich den Link gepostet.

Ciao,
_

micha
05-06-2002, 18:34
Hier isser: http://developer.kde.org/documentation/kde2arch/xmlgui.html ;)

Gruß micha

anda_skoa
05-06-2002, 19:00
Auch zu Empfehlen das Buch "KDE2 Programmierung"
Online unter http://www.andamooka.org/reader.pl?pgid=dekde20devindex&clid=964&nav=Next

Kapitel 5.1.2 "Aktionen erzeugen und manipulieren"

Ciao,
_

Boron
05-06-2002, 21:54
Vielen Dank euch beiden. Mit dieser Datei ist es viel einfacher Menüs zu basteln, Tolle Idee.

Dennoch würde ich gerne von bestehenden Einträgen den text ändern, also von Einträgen, die nicht von mir sind.
Ich hatte gehofft, dass das Label dieser Einträge in der rc-Datei definiert wird, aber das ist leider nicht der Fall.

Hier meine napalmui.rc (:D yeah baby, das wird ein höllisch heißes Programm):

<!DOCTYPE kpartgui>
<kpartgui name="napalm" version="0.1">
<MenuBar>
<Menu name="file"><text>&amp;File</text>
<Action name="file_new_window"/>
</Menu>
</MenuBar>
</kpartgui>
Mehr steht leider nicht drin.

Aber wie kann ich denn nun das Label der "Standard Menüeinträge", wie z.B. "File -> New", oder "File -> Open", ändern?
Ich hätte halt gerne als Label "File -> New Database". Da die napalmui.rc quasi leer ist kann es dort ja wohl nicht gehen, oder?

Gruss Boron

anda_skoa
06-06-2002, 08:26
Die Standardactions können nicht geändert werden. Sonst wäre nicht garantiert, dass sie immer gleich heißen.
Sie sollen ja zu einer Vereinheitlichung der Programmmenüs beitragen.

Du mußt eine eigene für "New Database" definieren und in dein ui.rc File eintragen und die fileNew KStdAction aus dem initActions() rausnehmen.

Ciao,
_

Boron
06-06-2002, 10:01
Ach blöd aber auch. Nun ja, dann soll es halt so sein.
Danke nochmal.

Gruß Boron

anda_skoa
06-06-2002, 12:54
Wenn dein Programm ohnehin nur New Database macht, also keine anderen "New" Sache, dann würd ich das Standard New lassen.

Ciao,
_