22 #include <QCommandLineParser>    25 #include <QMutableListIterator>    29 #include <KConfigGroup>    30 #include <KHelpClient>    31 #include <KLocalizedString>    32 #include <KSharedConfig>    52 #define MAX_RECENT_FILES 20    56    :QApplication(argc, argv),
    62     qRegisterMetaType<Kwave::SampleArray>(
"Kwave::SampleArray");
    63     qRegisterMetaType<Kwave::LabelList>(
"Kwave::LabelList");
    64     qRegisterMetaType<sample_index_t>(
"sample_index_t");
    65     qRegisterMetaType<Kwave::MetaDataList>(
"Kwave::MetaDataList");
    68     connect(QApplication::clipboard(),
    69             SIGNAL(changed(QClipboard::Mode)),
    71             SLOT(slotChanged(QClipboard::Mode)));
    85     KConfigGroup cfg = KSharedConfig::openConfig()->group(
"Global");
    86     result = cfg.readEntry(
"UI Type");
    87     if (result == 
_(
"SDI")) {
    89     } 
else if (result == 
_(
"MDI")) {
    91     } 
else if (result == 
_(
"TAB")) {
    98         QString arg = 
m_cmdline->value(
_(
"gui")).toUpper();
   100         if (arg == 
_(
"SDI")) {
   103         } 
else if (arg == 
_(
"MDI")) {
   106         } 
else if (arg == 
_(
"TAB")) {
   113         if (valid && (arg != result))
   114             cfg.writeEntry(
_(
"UI Type"), arg);
   125     processEvents(QEventLoop::ExcludeUserInputEvents);
   139     static bool first_time = 
true;
   153         connect(
this, SIGNAL(lastWindowClosed()), 
this, SLOT(quit()));
   156     QStringList params = 
m_cmdline->positionalArguments();
   159     if (params.isEmpty()) {
   164         foreach (
const QString &
name, params) {
   165             retval = 
newWindow(QUrl::fromUserInput(name));
   181     if (parser.
command() == 
_(
"newwindow")) {
   188         return (retval == 0) ? 0 : -EIO;
   189     } 
else if (parser.
command() == 
_(
"openrecent:clear")) {
   193     } 
else if (parser.
command() == 
_(
"help")) {
   194         KHelpClient::invokeHelp();
   204     if (!newfile.length()) 
return;
   246     if (!new_top_widget) {
   248         if (!new_top_widget || !new_top_widget->
init()) {
   250             qWarning(
"ERROR: initialization of TopWidget failed");
   251             delete new_top_widget;
   260             new_top_widget->resize(geom.width(), geom.height());
   264         new_top_widget->show();
   268                 new_top_widget, SLOT(updateRecentFiles()));
   271     retval = (!url.isEmpty()) ? new_top_widget->
loadFile(url) : 0;
   272     if (retval == ECANCELED)
   273         delete new_top_widget;
   296     QList<Kwave::App::FileAndInstance> all_files;
   298         if (!topwidget) 
continue;
   299         QList<Kwave::App::FileAndInstance> files = topwidget->
openFiles();
   300         if (!files.isEmpty())
   315     QList<Kwave::FileContext *> all_contexts;
   317     while (it.hasNext()) {
   319         if (!topwidget) { it.remove(); 
continue; }
   321         if (!contexts.isEmpty()) all_contexts += contexts;
   322         if (topwidget != top) {
   333     if (!all_contexts.isEmpty()) {
   340                     if (!context->
isEmpty() || (all_contexts.count() == 1)) {
   352                             if (!top_widget || !top_widget->
init()) {
   354                                 qWarning(
"ERROR: initialization of TopWidget failed");
   364                                     top_widget, SLOT(updateRecentFiles()));
   394     KConfigGroup cfg = KSharedConfig::openConfig()->group(
"Recent Files");
   402             cfg.deleteEntry(num);
   413     const KConfigGroup cfg = KSharedConfig::openConfig()->group(
"Recent Files");
   416         key = QString::number(i);        
   419         result = cfg.readEntry(key);
   420         if (result.length()) {
 int newInstance(const QStringList &args, const QString &dir)
App(int &argc, char **argv)
static bool Q_DECL_EXPORT open(const QString &filename)
QCommandLineParser * m_cmdline
static void showMessage(const QString &message)
static ClipBoard & instance()
void setParent(Kwave::TopWidget *top_widget)
QStringList m_recent_files
QList< FileAndInstance > openFiles() const
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)
void switchGuiType(Kwave::TopWidget *top, GuiType new_type)
void processCmdline(QCommandLineParser *cmdline)
void recentFilesChanged()
virtual bool isOK() const
int newWindow(const QUrl &url)
const QCommandLineParser * cmdline() const
const QStringList & params()
QString Q_DECL_EXPORT urlScheme()
void addRecentFile(const QString &filename)
bool toplevelWindowHasClosed(Kwave::TopWidget *todel)
int executeCommand(const QString &command)
QList< Kwave::TopWidget * > m_top_widgets