File: StringEnterDialog.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 (91 lines) | stat: -rw-r--r-- 3,326 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/***************************************************************************
  StringEnterDialog.cpp  -  dialog for entering a string command
                             -------------------
    begin                : Sat Mar 14 2015
    copyright            : (C) 2015 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 "config.h"

#include <KConfig>
#include <KConfigGroup>
#include <KHelpClient>
#include <KSharedConfig>

#include "libkwave/String.h"

#include "StringEnterDialog.h"

/** group for loading/saving the configuration */
#define CONFIG_GROUP QLatin1StringView(metaObject()->className())

/** entry for loading/saving the width in the configuration */
#define CONFIG_WIDTH "width"

//***************************************************************************
Kwave::StringEnterDialog::StringEnterDialog(QWidget *parent,
                                            const QString &preset)
    :QDialog(parent), Ui::StringEnterDlg(), m_command()
{
    setupUi(this);
    setFixedHeight(sizeHint().height());
    setMaximumWidth(sizeHint().width() * 2);

    // restore the window width from the previous invocation
    KConfigGroup cfg    = KSharedConfig::openConfig()->group(CONFIG_GROUP);
    QString      result = cfg.readEntry(CONFIG_WIDTH);
    bool         ok     = false;
    int          w      = result.toUInt(&ok);
    if (ok && (w > sizeHint().width()))
        resize(w, height());

    if (preset.length()) {
        edCommand->setText(preset);
        m_command = preset;
    }
}

//***************************************************************************
Kwave::StringEnterDialog::~StringEnterDialog()
{
    // save the window width for the next invocation
    KConfigGroup cfg = KSharedConfig::openConfig()->group(CONFIG_GROUP);
    cfg.writeEntry(CONFIG_WIDTH, width());
}

//***************************************************************************
QString Kwave::StringEnterDialog::command()
{
    return m_command;
}

//***************************************************************************
void Kwave::StringEnterDialog::accept()
{
    m_command = edCommand->text().trimmed();
    if (m_command.length())
        QDialog::accept();
    else
        QDialog::close();
}

//***************************************************************************
void Kwave::StringEnterDialog::invokeHelp()
{
    KHelpClient::invokeHelp(_("plugin_sect_stringenter"));
}

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

#include "moc_StringEnterDialog.cpp"