File: MenuList.cpp

package info (click to toggle)
kwave 25.04.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,272 kB
  • sloc: cpp: 56,173; xml: 817; perl: 688; sh: 57; makefile: 11
file content (68 lines) | stat: -rw-r--r-- 2,721 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/***************************************************************************
          MenuList.cpp  -  placeholder for a list of menu entries
                             -------------------
    begin                : Wed Dec 03 2014
    copyright            : (C) 2014 by Thomas Eschenbacher
    email                : Thomas.Eschenbacher@gmx.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/


#include "libkwave/String.h"

#include "libgui/MenuList.h"

//*****************************************************************************
Kwave::MenuList::MenuList(Kwave::MenuNode *parent,
                          const QString &command,
                          const QString &uid)
    :MenuNode(parent, _("LISTENTRY[") + uid + _("]"), command, 0, uid)
{
    /* NOTE: the "name" of this node is the uid of the list entries */
}

//*****************************************************************************
Kwave::MenuList::~MenuList()
{
}

//*****************************************************************************
void Kwave::MenuList::clear()
{
    Kwave::MenuNode *parent = parentNode();
    Q_ASSERT(parent);
    if (!parent) return;

    QString list_uid = name();
    Kwave::MenuNode *child;
    while ((child = parent->findUID(list_uid)) != nullptr)
        parent->removeChild(child);
}

//*****************************************************************************
Kwave::MenuNode *Kwave::MenuList::insertLeaf(const QString &name,
                                             const QString &command,
                                             const QKeySequence &shortcut,
                                             const QString &uid)
{
    Q_UNUSED(uid)

    Kwave::MenuNode *parent = parentNode();
    Q_ASSERT(parent);
    QString list_uid = this->name();
    return (parent) ?
        parent->insertLeaf(name, command, shortcut, list_uid) : nullptr;
}

//*****************************************************************************
//*****************************************************************************

#include "moc_MenuList.cpp"