Development/Tutorials/Games/KStandardGameAction

Jump to: navigation, search
KStandardGameAction
Tutorial Series   KDE Games
Previous   Introduction to KDE4 programming
What's Next   High Scores Tutorial
Further Reading   KStandardGameAction, KStandardAction
noframe
 
Warning
This page needs a review and probably holds information that needs to be fixed.

Parts to be reviewed:

  • Port to KF5
  • Add more content

Abstract

This tutorial will explain the usage of KStandardGameActions in libkdegames.

KStandardGameAction

This class is an extension to the usual KStandardAction class which provides easy access to often used KDE actions.

Using these actions helps maintaining consistency among the games.

Games often use different menu entries than other programs, e.g. games use the menu "game" instead of "file". This class provides the entries which differ from the usual KStandardAction entries.

Usage

Add some code like this to your action setup code.

 1 #include <KStandardGameAction>
 2 
 3 void setupActions()
 4 {
 5   // Game
 6   KStandardGameAction::gameNew(this, 
 7                        SLOT(newGame()), 
 8                        actionCollection());
 9   KStandardGameAction::highscores(this, 
10                        SLOT(showHighscores()), 
11                        actionCollection());
12   KStandardGameAction::quit(this, 
13                        SLOT(close()), 
14                        actionCollection());
15 
16   // Move
17   KStandardGameAction::undo(this, 
18                        SLOT(undoMove()), 
19                        actionCollection());
20   KStandardGameAction::redo(this, 
21                        SLOT(redoMove()), 
22                        actionCollection());
23 
24   // Settings
25   KStandardGameAction::configureHighscores(this, 
26                        SLOT(configureHighscores()), 
27                        actionCollection());
28   
29   setupGUI();
30 }

This page was last modified on 31 May 2019, at 14:23. Content is available under Creative Commons License SA 4.0 unless otherwise noted.