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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
require 'Korundum'
class Browser < KDE::MainWindow
k_dcop 'void setURL(TQString)'
slots 'fileSetDefaultPage()',
'changeLocation()',
'bookLocation()',
'gotoPreviousPage()',
'openURLRequest(const KURL&, const KParts::URLArgs&)'
TOOLBAR_ID_ADDBOOKMARK = 1
TOOLBAR_ID_BACK = 2
TOOLBAR_ID_QUIT = 3
def initialize( name )
super(nil, name)
setCaption("KDE Tutorial - p7")
@history = []
filemenu = TQt::PopupMenu.new
filemenu.insertItem( i18n( "&Set default page" ),
self, SLOT( 'fileSetDefaultPage()' ) )
filemenu.insertItem(i18n( "&Quit" ), $kapp, SLOT( 'quit()' ))
about =
i18n("p7 1.0\n\n" +
"(C) 1999-2002 Antonio Larrosa Jimenez\n" +
"larrosa@kde.org\t\tantlarr@supercable.es\n" +
"Malaga (Spain)\n\n" +
"Simple KDE Tutorial\n" +
"This tutorial comes with ABSOLUTELY NO WARRANTY \n" +
"This is free software, and you are welcome to redistribute it\n" +
"under certain conditions\n");
helpmenu = helpMenu(about)
menu = menuBar()
menu.insertItem( i18n( "&File" ), filemenu)
menu.insertSeparator()
menu.insertItem(i18n("&Help"), helpmenu)
toolbar = KDE::ToolBar.new(self)
icons = KDE::IconLoader.new()
toolbar.insertButton(icons.loadIcon("reload", KDE::Icon::Toolbar), TOOLBAR_ID_ADDBOOKMARK,
SIGNAL('clicked(int)'),self,SLOT('bookLocation()'),true,
i18n("Add to Bookmarks"))
toolbar.insertButton(icons.loadIcon("back", KDE::Icon::Toolbar), TOOLBAR_ID_BACK,
SIGNAL('clicked(int)'),self,SLOT('gotoPreviousPage()'),
false, i18n("Back to previous page"))
toolbar.insertButton(icons.loadIcon("exit", KDE::Icon::Toolbar), TOOLBAR_ID_QUIT,
SIGNAL('clicked(int)'),$kapp,SLOT('quit()'),true,
i18n("Quit the application"))
addToolBar(toolbar)
vbox = TQt::VBox.new( self )
@location = TQt::LineEdit.new( vbox )
config = $kapp.config()
config.setGroup("Settings")
@location.text = config.readEntry( "defaultPage", "http://localhost")
connect( @location , SIGNAL( 'returnPressed()' ),
self, SLOT( 'changeLocation()' ) )
split = TQt::Splitter.new( vbox )
split.setOpaqueResize()
@browser = KDE::HTMLPart.new( split )
@browser.openURL( KDE::URL.new(@location.text()) )
connect( @browser.browserExtension(),
SIGNAL( 'openURLRequest( const KURL&, const KParts::URLArgs& )' ),
self, SLOT( 'openURLRequest(const KURL&, const KParts::URLArgs& )' ) )
setCentralWidget(vbox)
end
def changeLocation()
@history.push( @browser.url().url() );
toolBar().setItemEnabled( TOOLBAR_ID_BACK, true)
@browser.openURL( KDE::URL.new(@location.text()) )
end
def setURL( url )
@location.text = url
changeLocation()
end
def openURLRequest(url, part)
setURL( url.url() )
end
def gotoPreviousPage()
@location.text = @history.pop()
if @history.empty?
toolBar().setItemEnabled(TOOLBAR_ID_BACK, false)
end
@browser.openURL( KDE::URL.new(@location.text()) )
end
def bookLocation()
dcopRef = KDE::DCOPRef.new("p8", "BookMarkList")
if ! dcopRef.add(@location.text())
qWarning("Error with DCOP\n")
end
end
def fileSetDefaultPage()
config = $kapp.config()
config.group = "Settings"
config.writeEntry( "defaultPage", @browser.url().url() )
end
end
about = KDE::AboutData.new("p7", "Tutorial - p7", "0.1")
KDE::CmdLineArgs.init(ARGV, about)
a = KDE::UniqueApplication.new()
window = Browser.new( "Tutorial - p7" )
window.resize( 300, 200 )
a.mainWidget = window
window.show
a.exec
|