~ubuntu-branches/ubuntu/trusty/kvirc/trusty

« back to all changes in this revision

Viewing changes to src/modules/objects/libkviobjects.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Kai Wasserbäch, Kai Wasserbäch, Raúl Sánchez Siles
  • Date: 2011-02-12 10:40:21 UTC
  • mfrom: (14.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20110212104021-5mh4f75jlku20mnt
The combined "Twisted Experiment" and "Nocturnal Raid" release.

[ Kai Wasserbäch ]
* Synced to upstream's SVN revision 5467.
* debian/rules:
  - Added .PHONY line.
  - Resurrect -DMANUAL_REVISION, got lost somewhere and we build SVN
    revisions again.
  - Replace "-DWITH_NO_EMBEDDED_CODE=YES" with "-DWANT_CRYPTOPP=YES".
  - Change the remaining -DWITH/-DWITHOUT to the new -DWANT syntax.
* debian/control:
  - Removed DMUA, I'm a DD now.
  - Changed my e-mail address.
  - Removed unneeded relationships (no upgrades over two releases are
    supported).
  - Fix Suggests for kvirc-dbg.
  - kvirc-data: Make the "Suggests: kvirc" a Recommends, doesn't make much
    sense to install the -data package without the program.
* debian/source/local-options: Added with "unapply-patches".
* debian/kvirc.lintian-overrides: Updated to work for 4.1.1.
* debian/patches/21_make_shared-mime-info_B-D_superfluous.patch: Updated.
* debian/kvirc-data.install: Added .notifyrc.

[ Raúl Sánchez Siles ]
* Stating the right version where kvirc-data break and replace should happen.
* Fixing link to license file.
* Added French and Portuguese man pages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
//   File : libkviobjects.cpp
4
4
//   Creation date : Wed Sep 09 2000 20:59:01 by Szymon Stefanek
5
5
//
6
 
//   This file is part of the KVirc irc client distribution
7
 
//   Copyright (C) 2000-2009 Szymon Stefanek (pragma at kvirc dot net)
 
6
//   This file is part of the KVIrc irc client distribution
 
7
//   Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net)
8
8
//
9
9
//   This program is FREE software. You can redistribute it and/or
10
10
//   modify it under the terms of the GNU General Public License
22
22
//
23
23
//=============================================================================
24
24
 
25
 
#include "class_button.h"
26
 
#include "class_checkbox.h"
27
 
#include "class_combobox.h"
28
 
#include "class_dialog.h"
29
 
#include "class_dockwindow.h"
30
 
#include "class_file.h"
31
 
#include "class_ftp.h"
32
 
#include "class_groupbox.h"
33
 
#include "class_buttongroup.h"
34
 
#include "class_hbox.h"
35
 
#include "class_http.h"
36
 
#include "class_label.h"
37
 
#include "class_layout.h"
38
 
#include "class_lcd.h"
39
 
#include "class_lineedit.h"
40
 
#include "class_list.h"
41
 
#include "class_listwidget.h"
42
 
#include "class_mainwindow.h"
43
 
#include "class_memorybuffer.h"
44
 
#include "class_menubar.h"
45
 
#include "class_multilineedit.h"
46
 
#include "class_painter.h"
47
 
#include "class_pixmap.h"
48
 
#include "class_popupmenu.h"
49
 
#include "class_process.h"
50
 
#include "class_progressbar.h"
51
 
#include "class_radiobutton.h"
52
 
#include "class_slider.h"
53
 
#include "class_socket.h"
54
 
#include "class_spinbox.h"
55
 
#include "class_tabwidget.h"
56
 
#include "class_tablewidget.h"
57
 
#include "class_tbrowser.h"
58
 
#include "class_toolbar.h"
59
 
#include "class_toolbutton.h"
60
 
#include "class_treewidget.h"
61
 
#include "class_treewidgetitem.h"
62
 
#include "class_vbox.h"
63
 
#include "class_widget.h"
64
 
#include "class_window.h"
65
 
#include "class_wizard.h"
66
 
#include "class_workspace.h"
67
 
#include "class_wrapper.h"
68
 
#include "class_xmlreader.h"
69
 
#include "class_sql.h"
70
 
#include "class_datetimeedit.h"
71
 
 
72
 
 
73
 
#include "kvi_iconmanager.h"
74
 
#include "kvi_window.h"
75
 
#include "kvi_out.h"
76
 
#include "kvi_mirccntrl.h"
77
 
#include "kvi_app.h"
78
 
#include "kvi_module.h"
79
 
#include "kvi_locale.h"
80
 
#include "kvi_error.h"
81
 
#include "kvi_cmdformatter.h"
82
 
#include "kvi_out.h"
83
 
#include "kvi_app.h"
84
 
#include "kvi_fileutils.h"
 
25
#include "KvsObject_button.h"
 
26
#include "KvsObject_checkBox.h"
 
27
#include "KvsObject_comboBox.h"
 
28
#include "KvsObject_dialog.h"
 
29
#include "KvsObject_dockWindow.h"
 
30
#include "KvsObject_file.h"
 
31
#include "KvsObject_ftp.h"
 
32
#include "KvsObject_groupBox.h"
 
33
#include "KvsObject_buttonGroup.h"
 
34
#include "KvsObject_hBox.h"
 
35
#include "KvsObject_http.h"
 
36
#include "KvsObject_label.h"
 
37
#include "KvsObject_layout.h"
 
38
#include "KvsObject_lcd.h"
 
39
#include "KvsObject_lineEdit.h"
 
40
#include "KvsObject_list.h"
 
41
#include "KvsObject_listWidget.h"
 
42
#include "KvsObject_mainWindow.h"
 
43
#include "KvsObject_memoryBuffer.h"
 
44
#include "KvsObject_menuBar.h"
 
45
#include "KvsObject_multiLineEdit.h"
 
46
#include "KvsObject_painter.h"
 
47
#include "KvsObject_pixmap.h"
 
48
#include "KvsObject_popupMenu.h"
 
49
#include "KvsObject_process.h"
 
50
#include "KvsObject_progressBar.h"
 
51
#include "KvsObject_radioButton.h"
 
52
#include "KvsObject_slider.h"
 
53
#include "KvsObject_socket.h"
 
54
#include "KvsObject_spinBox.h"
 
55
#include "KvsObject_tabWidget.h"
 
56
#include "KvsObject_tableWidget.h"
 
57
#include "KvsObject_textBrowser.h"
 
58
#include "KvsObject_toolBar.h"
 
59
#include "KvsObject_toolButton.h"
 
60
#include "KvsObject_trayIcon.h"
 
61
#include "KvsObject_treeWidget.h"
 
62
#include "KvsObject_treeWidgeteItem.h"
 
63
#include "KvsObject_vBox.h"
 
64
#include "KvsObject_widget.h"
 
65
#include "KvsObject_window.h"
 
66
#include "KvsObject_wizard.h"
 
67
#include "KvsObject_workspace.h"
 
68
#include "KvsObject_wrapper.h"
 
69
#include "KvsObject_xmlreader.h"
 
70
#include "KvsObject_sql.h"
 
71
#include "KvsObject_dateTimeEdit.h"
 
72
 
 
73
 
 
74
#include "KviIconManager.h"
 
75
#include "KviWindow.h"
 
76
#include "kvi_out.h"
 
77
#include "KviControlCodes.h"
 
78
#include "KviApplication.h"
 
79
#include "KviModule.h"
 
80
#include "KviLocale.h"
 
81
#include "KviError.h"
 
82
#include "KviCommandFormatter.h"
 
83
#include "kvi_out.h"
 
84
#include "KviApplication.h"
 
85
#include "KviFileUtils.h"
85
86
 
86
87
#include <QDir>
87
88
#include <QImage>
94
95
        // Don't attempt to change the order of these calls.
95
96
        // Derived classes must be unregistered before the base ones.
96
97
 
97
 
        KviKvsObject_memorybuffer::unregisterSelf();
98
 
        KviKvsObject_process::unregisterSelf();
99
 
        KviKvsObject_ftp::unregisterSelf();
100
 
        KviKvsObject_http::unregisterSelf();
101
 
        KviKvsObject_socket::unregisterSelf();
102
 
        KviKvsObject_xmlreader::unregisterSelf();
103
 
        KviKvsObject_wrapper::unregisterSelf();
104
 
        KviKvsObject_file::unregisterSelf();
105
 
        KviKvsObject_progressbar::unregisterSelf();
106
 
        KviKvsObject_dockwindow::unregisterSelf();
107
 
        KviKvsObject_wizard::unregisterSelf();
108
 
        KviKvsObject_window::unregisterSelf();
109
 
        KviKvsObject_toolbutton::unregisterSelf();
110
 
        KviKvsObject_toolbar::unregisterSelf();
111
 
        KviKvsObject_tabwidget::unregisterSelf();
112
 
        KviKvsObject_spinbox::unregisterSelf();
113
 
        KviKvsObject_slider::unregisterSelf();
114
 
        KviKvsObject_radiobutton::unregisterSelf();
115
 
        KviKvsObject_popupmenu::unregisterSelf();
116
 
        KviKvsObject_pixmap::unregisterSelf();
117
 
        KviKvsObject_painter::unregisterSelf();
118
 
        KviKvsObject_mainwindow::unregisterSelf();
119
 
        KviKvsObject_treewidgetitem::unregisterSelf();
120
 
        KviKvsObject_treewidget::unregisterSelf();
121
 
        KviKvsObject_listwidget::unregisterSelf();
122
 
        KviKvsObject_combobox::unregisterSelf();
123
 
        KviKvsObject_workspace::unregisterSelf();
124
 
        KviKvsObject_menubar::unregisterSelf();
125
 
        KviKvsObject_lineedit::unregisterSelf();
126
 
        KviKvsObject_lcd::unregisterSelf();
127
 
        KviKvsObject_layout::unregisterSelf();
128
 
        KviKvsObject_hbox::unregisterSelf();
129
 
        KviKvsObject_vbox::unregisterSelf();
130
 
        KviKvsObject_label::unregisterSelf();
131
 
        KviKvsObject_groupbox::unregisterSelf();
132
 
        KviKvsObject_dialog::unregisterSelf();
133
 
        KviKvsObject_checkbox::unregisterSelf();
134
 
        KviKvsObject_textbrowser::unregisterSelf();
135
 
        KviKvsObject_textedit::unregisterSelf();
136
 
        KviKvsObject_button::unregisterSelf();
137
 
        KviKvsObject_datetimeedit::unregisterSelf();
138
 
        KviKvsObject_tablewidget::unregisterSelf();
139
 
        KviKvsObject_widget::unregisterSelf();
140
 
        KviKvsObject_list::unregisterSelf();
141
 
        KviKvsObject_sql::unregisterSelf();
142
 
        KviKvsObject_buttongroup::unregisterSelf();
 
98
        KvsObject_memoryBuffer::unregisterSelf();
 
99
        KvsObject_process::unregisterSelf();
 
100
        KvsObject_trayIcon::unregisterSelf();
 
101
        KvsObject_ftp::unregisterSelf();
 
102
        KvsObject_http::unregisterSelf();
 
103
        KvsObject_socket::unregisterSelf();
 
104
        KvsObject_xmlReader::unregisterSelf();
 
105
        KvsObject_wrapper::unregisterSelf();
 
106
        KvsObject_file::unregisterSelf();
 
107
        KvsObject_progressBar::unregisterSelf();
 
108
        KvsObject_dockWindow::unregisterSelf();
 
109
        KvsObject_wizard::unregisterSelf();
 
110
        KvsObject_window::unregisterSelf();
 
111
        KvsObject_toolButton::unregisterSelf();
 
112
        KvsObject_toolBar::unregisterSelf();
 
113
        KvsObject_tabWidget::unregisterSelf();
 
114
        KvsObject_spinBox::unregisterSelf();
 
115
        KvsObject_slider::unregisterSelf();
 
116
        KvsObject_radioButton::unregisterSelf();
 
117
        KvsObject_popupMenu::unregisterSelf();
 
118
        KvsObject_pixmap::unregisterSelf();
 
119
        KvsObject_painter::unregisterSelf();
 
120
        KvsObject_mainWindow::unregisterSelf();
 
121
        KvsObject_treeWidgetItem::unregisterSelf();
 
122
        KvsObject_treeWidget::unregisterSelf();
 
123
        KvsObject_listWidget::unregisterSelf();
 
124
        KvsObject_comboBox::unregisterSelf();
 
125
        KvsObject_workspace::unregisterSelf();
 
126
        KvsObject_menuBar::unregisterSelf();
 
127
        KvsObject_lineEdit::unregisterSelf();
 
128
        KvsObject_lcd::unregisterSelf();
 
129
        KvsObject_layout::unregisterSelf();
 
130
        KvsObject_hBox::unregisterSelf();
 
131
        KvsObject_vBox::unregisterSelf();
 
132
        KvsObject_label::unregisterSelf();
 
133
        KvsObject_groupBox::unregisterSelf();
 
134
        KvsObject_dialog::unregisterSelf();
 
135
        KvsObject_checkBox::unregisterSelf();
 
136
        KvsObject_textBrowser::unregisterSelf();
 
137
        KvsObject_textedit::unregisterSelf();
 
138
        KvsObject_button::unregisterSelf();
 
139
        KvsObject_dateTimeEdit::unregisterSelf();
 
140
        KvsObject_tableWidget::unregisterSelf();
 
141
        KvsObject_widget::unregisterSelf();
 
142
        KvsObject_list::unregisterSelf();
 
143
        KvsObject_sql::unregisterSelf();
 
144
        KvsObject_buttonGroup::unregisterSelf();
143
145
 
144
146
        return true;
145
147
}
260
262
        obSrc=KviKvsKernel::instance()->objectController()->lookupObject(hSrc);
261
263
        if(!obTrg)
262
264
        {
263
 
                c->warning(__tr2qs_ctx("Inexisting target object for objects.connect","objects"));
 
265
                c->warning(__tr2qs_ctx("Inexistant target object for objects.connect","objects"));
264
266
                return true;
265
267
        }
266
268
        if(!obSrc)
267
269
        {
268
 
                c->warning(__tr2qs_ctx("Inexisting source object for objects.connect","objects"));
 
270
                c->warning(__tr2qs_ctx("Inexistant source object for objects.connect","objects"));
269
271
                return true;
270
272
        }
271
273
        if(!obSrc->connectSignal(szSignal,obTrg,szSlot))
272
274
        {
273
 
                c->warning(__tr2qs_ctx("Inexisting target slot '%Q' for objects.connect","objects"),&szSlot);
 
275
                c->warning(__tr2qs_ctx("Inexistant target slot '%Q' for objects.connect","objects"),&szSlot);
274
276
                return true;
275
277
        }
276
278
        return true;
504
506
                ++it;
505
507
        }
506
508
        QString szPath;
507
 
        g_pApp->getLocalKvircDirectory(szPath,KviApp::Classes);
 
509
        g_pApp->getLocalKvircDirectory(szPath,KviApplication::Classes);
508
510
        QDir d(szPath);
509
511
        QStringList sl;
510
512
        sl = d.entryList(QDir::Files);
556
558
        obSrcClass = KviKvsKernel::instance()->objectController()->lookupObject(hClass);
557
559
        if(!obSrcClass)
558
560
        {
559
 
                c->warning(__tr2qs_ctx("Inexisting class object for objects.name","objects"));
 
561
                c->warning(__tr2qs_ctx("Inexistant class object for objects.name","objects"));
560
562
                return true;
561
563
        }
562
564
 
599
601
        obSrc=KviKvsKernel::instance()->objectController()->lookupObject(hSrc);
600
602
        if(!obTrg)
601
603
        {
602
 
                c->warning(__tr2qs_ctx("Inexisting target object for objects.disconnect","objects"));
 
604
                c->warning(__tr2qs_ctx("Inexistant target object for objects.disconnect","objects"));
603
605
                return true;
604
606
        }
605
607
        if(!obSrc)
606
608
        {
607
 
                c->warning(__tr2qs_ctx("Inexisting source object for objects.disconnect","objects"));
 
609
                c->warning(__tr2qs_ctx("Inexistant source object for objects.disconnect","objects"));
608
610
                return true;
609
611
        }
610
612
        obSrc->disconnectSignal(szSignal,obTrg,szSlot);
654
656
        if (bFlag) cmd->window()->output(80, "Objects dump:");
655
657
                QWidgetList list = g_pApp->topLevelWidgets();
656
658
 
657
 
        KviStr spacing = ">";
 
659
        KviCString spacing = ">";
658
660
        QString  szTemp;
659
661
        KviKvsArray * n = new KviKvsArray();
660
662
        int idx=0;
666
668
                        {
667
669
                                cmd->window()->output(80, "Ptr %u: top level object: %c%s%c, class %s, %s, rect = %d, %d, %d, %d",
668
670
                                list.at(i),
669
 
                                KVI_TEXT_BOLD, list.at(i)->objectName().data(), KVI_TEXT_BOLD,
 
671
                                KviControlCodes::Bold, list.at(i)->objectName().data(), KviControlCodes::Bold,
670
672
                                list.at(i)->metaObject()->className(),
671
673
                                list.at(i)->isVisible() ? "visible" : "hidden",
672
674
                                list.at(i)->x(), list.at(i)->y(), list.at(i)->width(), list.at(i)->height());
678
680
                        KviKvsVariant v;
679
681
                        v.setString(szTemp);
680
682
                        n->set(idx,new KviKvsVariant(v));
681
 
                /*      debug ("string %s",szTemp.toUtf8().data());
682
 
                        debug ("class %s",szClass.toUtf8().data());
683
 
                        debug ("Obj %s",szObj.toUtf8().data());*/
 
683
                        /*qDebug("string %s",szTemp.toUtf8().data());
 
684
                        qDebug("class %s",szClass.toUtf8().data());
 
685
                        qDebug("Obj %s",szObj.toUtf8().data());*/
684
686
                        idx++;
685
687
 
686
688
                        dumpChildObjects(cmd->window(), list.at(i), spacing.ptr(), bFlag,n,idx);
704
706
                        if (bFlag)
705
707
                        {
706
708
                                pWnd->output(80, "%sPtr %u: object: %c%s%c, class %s",
707
 
                                        spacing, list.at(i), KVI_TEXT_BOLD,
708
 
                                        list.at(i)->objectName().data(), KVI_TEXT_BOLD, list.at(i)->metaObject()->className()
 
709
                                        spacing, list.at(i), KviControlCodes::Bold,
 
710
                                        list.at(i)->objectName().data(), KviControlCodes::Bold, list.at(i)->metaObject()->className()
709
711
                                );
710
712
                        }
711
713
                        QString szClass=list.at(i)->metaObject()->className();
715
717
                        KviKvsVariant v;
716
718
                        v.setString(szTemp);
717
719
                        n->set(idx,new KviKvsVariant(v));
718
 
                        //debug ("string %s",szTemp.toUtf8().data());
 
720
                        //qDebug("string %s",szTemp.toUtf8().data());
719
721
                        idx++;
720
722
                        dumpChildObjects(pWnd, list.at(i), sp.toUtf8().data(), bFlag, n, idx );
721
723
                }
750
752
        // Don't attempt to change the order of these calls.
751
753
        // Derived classes must be registered after the base ones.
752
754
 
753
 
        KviKvsObject_buttongroup::registerSelf();
754
 
 
755
 
        KviKvsObject_sql::registerSelf();
756
 
        KviKvsObject_list::registerSelf();
757
 
        KviKvsObject_widget::registerSelf();
758
 
        KviKvsObject_tablewidget::registerSelf();
759
 
        KviKvsObject_datetimeedit::registerSelf();
760
 
        KviKvsObject_button::registerSelf();
761
 
        KviKvsObject_textedit::registerSelf();
762
 
        KviKvsObject_textbrowser::registerSelf();
763
 
        KviKvsObject_checkbox::registerSelf();
764
 
        KviKvsObject_dialog::registerSelf();
765
 
        KviKvsObject_groupbox::registerSelf();
766
 
        KviKvsObject_label::registerSelf();
767
 
        KviKvsObject_vbox::registerSelf();
768
 
        KviKvsObject_hbox::registerSelf();
769
 
        KviKvsObject_layout::registerSelf();
770
 
        KviKvsObject_lcd::registerSelf();
771
 
        KviKvsObject_lineedit::registerSelf();
772
 
        KviKvsObject_menubar::registerSelf();
773
 
        KviKvsObject_workspace::registerSelf();
774
 
        KviKvsObject_combobox::registerSelf();
775
 
        KviKvsObject_listwidget::registerSelf();
776
 
        KviKvsObject_treewidget::registerSelf();
777
 
        KviKvsObject_treewidgetitem::registerSelf();
778
 
        KviKvsObject_mainwindow::registerSelf();
779
 
        KviKvsObject_painter::registerSelf();
780
 
        KviKvsObject_pixmap::registerSelf();
781
 
        KviKvsObject_popupmenu::registerSelf();
782
 
        KviKvsObject_radiobutton::registerSelf();
783
 
        KviKvsObject_slider::registerSelf();
784
 
        KviKvsObject_spinbox::registerSelf();
785
 
        KviKvsObject_tabwidget::registerSelf();
786
 
        KviKvsObject_toolbar::registerSelf();
787
 
        KviKvsObject_toolbutton::registerSelf();
788
 
        KviKvsObject_window::registerSelf();
789
 
        KviKvsObject_wizard::registerSelf();
790
 
        KviKvsObject_dockwindow::registerSelf();
791
 
        KviKvsObject_progressbar::registerSelf();
792
 
        KviKvsObject_file::registerSelf();
793
 
        KviKvsObject_wrapper::registerSelf();
794
 
        KviKvsObject_xmlreader::registerSelf();
795
 
        KviKvsObject_socket::registerSelf();
796
 
        KviKvsObject_http::registerSelf();
797
 
        KviKvsObject_ftp::registerSelf();
798
 
 
799
 
        KviKvsObject_process::registerSelf();
800
 
        KviKvsObject_memorybuffer::registerSelf();
 
755
        KvsObject_buttonGroup::registerSelf();
 
756
 
 
757
        KvsObject_sql::registerSelf();
 
758
        KvsObject_list::registerSelf();
 
759
        KvsObject_widget::registerSelf();
 
760
        KvsObject_tableWidget::registerSelf();
 
761
        KvsObject_dateTimeEdit::registerSelf();
 
762
        KvsObject_button::registerSelf();
 
763
        KvsObject_textedit::registerSelf();
 
764
        KvsObject_textBrowser::registerSelf();
 
765
        KvsObject_checkBox::registerSelf();
 
766
        KvsObject_dialog::registerSelf();
 
767
        KvsObject_groupBox::registerSelf();
 
768
        KvsObject_label::registerSelf();
 
769
        KvsObject_vBox::registerSelf();
 
770
        KvsObject_hBox::registerSelf();
 
771
        KvsObject_layout::registerSelf();
 
772
        KvsObject_lcd::registerSelf();
 
773
        KvsObject_lineEdit::registerSelf();
 
774
        KvsObject_menuBar::registerSelf();
 
775
        KvsObject_workspace::registerSelf();
 
776
        KvsObject_comboBox::registerSelf();
 
777
        KvsObject_listWidget::registerSelf();
 
778
        KvsObject_treeWidget::registerSelf();
 
779
        KvsObject_treeWidgetItem::registerSelf();
 
780
        KvsObject_mainWindow::registerSelf();
 
781
        KvsObject_painter::registerSelf();
 
782
        KvsObject_pixmap::registerSelf();
 
783
        KvsObject_popupMenu::registerSelf();
 
784
        KvsObject_radioButton::registerSelf();
 
785
        KvsObject_slider::registerSelf();
 
786
        KvsObject_spinBox::registerSelf();
 
787
        KvsObject_tabWidget::registerSelf();
 
788
        KvsObject_toolBar::registerSelf();
 
789
        KvsObject_toolButton::registerSelf();
 
790
        KvsObject_window::registerSelf();
 
791
        KvsObject_wizard::registerSelf();
 
792
        KvsObject_dockWindow::registerSelf();
 
793
        KvsObject_progressBar::registerSelf();
 
794
        KvsObject_file::registerSelf();
 
795
        KvsObject_wrapper::registerSelf();
 
796
        KvsObject_xmlReader::registerSelf();
 
797
        KvsObject_socket::registerSelf();
 
798
        KvsObject_http::registerSelf();
 
799
        KvsObject_ftp::registerSelf();
 
800
        KvsObject_trayIcon::registerSelf();
 
801
        KvsObject_process::registerSelf();
 
802
        KvsObject_memoryBuffer::registerSelf();
801
803
 
802
804
        return true;
803
805
}