Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
08345a27
Commit
08345a27
authored
Jul 22, 2009
by
Kavindra Devi Palaraja
Browse files
Doc - More of Part 7
Reviewed-By: TrustMe
parent
d8fb69b4
Changes
5
Hide whitespace changes
Inline
Side-by-side
doc/addressbook-sdk.qdoc
View file @
08345a27
...
...
@@ -987,8 +987,15 @@
\section1 Placing Widgets on The Form
We add
We add a push button into our layout by dragging and dropping it in, with
\c exportButton as its \c objectName.
# screenshot
\section1 The AddressBook Class
We declare a public slot, \c exportAsVCard(), in our header file.
Within the \c AddressBook constructor, we connect \c{exportButton}'s
\l{QPushButton::}{clicked()} signal to \c exportAsVCard().
*/
doc/examples/addressbook-sdk/part7/addressbook.cpp
View file @
08345a27
...
...
@@ -6,67 +6,30 @@ AddressBook::AddressBook(QWidget *parent)
{
ui
->
setupUi
(
this
);
nameLine
=
new
QLineEdit
;
nameLine
=
ui
->
nameLine
;
nameLine
->
setReadOnly
(
true
);
addressText
=
new
QTextEdit
;
addressText
=
ui
->
addressText
;
addressText
->
setReadOnly
(
true
);
addButton
=
new
QPushButton
;
addButton
=
ui
->
addButton
;
submitButton
=
new
QPushButton
;
submitButton
=
ui
->
submitButton
;
submitButton
->
hide
();
cancelButton
=
new
QPushButton
;
cancelButton
=
ui
->
cancelButton
;
cancelButton
->
hide
();
nextButton
=
new
QPushButton
;
nextButton
=
ui
->
nextButton
;
nextButton
->
setEnabled
(
false
);
previousButton
=
new
QPushButton
;
previousButton
=
ui
->
previousButton
;
previousButton
->
setEnabled
(
false
);
editButton
=
new
QPushButton
;
editButton
=
ui
->
editButton
;
editButton
->
setEnabled
(
false
);
removeButton
=
new
QPushButton
;
removeButton
=
ui
->
removeButton
;
removeButton
->
setEnabled
(
false
);
findButton
=
new
QPushButton
;
findButton
=
ui
->
findButton
;
dialog
=
new
FindDialog
;
loadButton
=
new
QPushButton
;
loadButton
=
ui
->
loadButton
;
saveButton
=
new
QPushButton
;
saveButton
=
ui
->
saveButton
;
connect
(
addButton
,
SIGNAL
(
clicked
()),
this
,
ui
->
nameLine
->
setReadOnly
(
true
);
ui
->
addressText
->
setReadOnly
(
true
);
ui
->
submitButton
->
hide
();
ui
->
cancelButton
->
hide
();
ui
->
nextButton
->
setEnabled
(
false
);
ui
->
previousButton
->
setEnabled
(
false
);
ui
->
editButton
->
setEnabled
(
false
);
ui
->
removeButton
->
setEnabled
(
false
);
connect
(
ui
->
addButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
addContact
()));
connect
(
submitButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
submitButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
submitContact
()));
connect
(
cancelButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
cancelButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
cancel
()));
connect
(
nextButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
nextButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
next
()));
connect
(
previousButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
previousButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
previous
()));
connect
(
editButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
editButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
editContact
()));
connect
(
removeButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
removeButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
removeContact
()));
connect
(
findButton
,
SIGNAL
(
clicked
()),
this
,
connect
(
ui
->
findButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
findContact
()));
setWindowTitle
(
tr
(
"Simple Address Book"
));
...
...
@@ -79,23 +42,25 @@ AddressBook::~AddressBook()
void
AddressBook
::
addContact
()
{
oldName
=
nameLine
->
text
();
oldAddress
=
addressText
->
toPlainText
();
oldName
=
ui
->
nameLine
->
text
();
oldAddress
=
ui
->
addressText
->
toPlainText
();
nameLine
->
clear
();
addressText
->
clear
();
ui
->
nameLine
->
clear
();
ui
->
addressText
->
clear
();
updateInterface
(
AddingMode
);
}
void
AddressBook
::
submitContact
()
{
QString
name
=
nameLine
->
text
();
QString
address
=
addressText
->
toPlainText
();
QString
name
=
ui
->
nameLine
->
text
();
QString
address
=
ui
->
addressText
->
toPlainText
();
if
(
name
==
""
||
address
==
""
)
{
QMessageBox
::
information
(
this
,
tr
(
"Empty Field"
),
tr
(
"Please enter a name and address."
));
updateInterface
(
NavigationMode
);
return
;
}
if
(
currentMode
==
AddingMode
)
{
...
...
@@ -132,15 +97,15 @@ void AddressBook::submitContact()
void
AddressBook
::
cancel
()
{
nameLine
->
setText
(
oldName
);
nameLine
->
setReadOnly
(
true
);
ui
->
nameLine
->
setText
(
oldName
);
ui
->
nameLine
->
setReadOnly
(
true
);
updateInterface
(
NavigationMode
);
}
void
AddressBook
::
next
()
{
QString
name
=
nameLine
->
text
();
QString
name
=
ui
->
nameLine
->
text
();
QMap
<
QString
,
QString
>::
iterator
i
=
contacts
.
find
(
name
);
if
(
i
!=
contacts
.
end
())
...
...
@@ -148,18 +113,18 @@ void AddressBook::next()
if
(
i
==
contacts
.
end
())
i
=
contacts
.
begin
();
nameLine
->
setText
(
i
.
key
());
addressText
->
setText
(
i
.
value
());
ui
->
nameLine
->
setText
(
i
.
key
());
ui
->
addressText
->
setText
(
i
.
value
());
}
void
AddressBook
::
previous
()
{
QString
name
=
nameLine
->
text
();
QString
name
=
ui
->
nameLine
->
text
();
QMap
<
QString
,
QString
>::
iterator
i
=
contacts
.
find
(
name
);
if
(
i
==
contacts
.
end
())
{
nameLine
->
clear
();
addressText
->
clear
();
ui
->
nameLine
->
clear
();
ui
->
addressText
->
clear
();
return
;
}
...
...
@@ -167,22 +132,22 @@ void AddressBook::previous()
i
=
contacts
.
end
();
i
--
;
nameLine
->
setText
(
i
.
key
());
addressText
->
setText
(
i
.
value
());
ui
->
nameLine
->
setText
(
i
.
key
());
ui
->
addressText
->
setText
(
i
.
value
());
}
void
AddressBook
::
editContact
()
{
oldName
=
nameLine
->
text
();
oldAddress
=
addressText
->
toPlainText
();
oldName
=
ui
->
nameLine
->
text
();
oldAddress
=
ui
->
addressText
->
toPlainText
();
updateInterface
(
EditingMode
);
}
void
AddressBook
::
removeContact
()
{
QString
name
=
nameLine
->
text
();
QString
address
=
addressText
->
toPlainText
();
QString
name
=
ui
->
nameLine
->
text
();
QString
address
=
ui
->
addressText
->
toPlainText
();
if
(
contacts
.
contains
(
name
))
{
int
button
=
QMessageBox
::
question
(
this
,
...
...
@@ -211,55 +176,55 @@ void AddressBook::updateInterface(Mode mode)
case
AddingMode
:
case
EditingMode
:
nameLine
->
setReadOnly
(
false
);
nameLine
->
setFocus
(
Qt
::
OtherFocusReason
);
addressText
->
setReadOnly
(
false
);
ui
->
nameLine
->
setReadOnly
(
false
);
ui
->
nameLine
->
setFocus
(
Qt
::
OtherFocusReason
);
ui
->
addressText
->
setReadOnly
(
false
);
addButton
->
setEnabled
(
false
);
editButton
->
setEnabled
(
false
);
removeButton
->
setEnabled
(
false
);
ui
->
addButton
->
setEnabled
(
false
);
ui
->
editButton
->
setEnabled
(
false
);
ui
->
removeButton
->
setEnabled
(
false
);
nextButton
->
setEnabled
(
false
);
previousButton
->
setEnabled
(
false
);
ui
->
nextButton
->
setEnabled
(
false
);
ui
->
previousButton
->
setEnabled
(
false
);
submitButton
->
show
();
cancelButton
->
show
();
ui
->
submitButton
->
show
();
ui
->
cancelButton
->
show
();
break
;
case
NavigationMode
:
if
(
contacts
.
isEmpty
())
{
nameLine
->
clear
();
addressText
->
clear
();
ui
->
nameLine
->
clear
();
ui
->
addressText
->
clear
();
}
nameLine
->
setReadOnly
(
true
);
addressText
->
setReadOnly
(
true
);
addButton
->
setEnabled
(
true
);
ui
->
nameLine
->
setReadOnly
(
true
);
ui
->
addressText
->
setReadOnly
(
true
);
ui
->
addButton
->
setEnabled
(
true
);
int
number
=
contacts
.
size
();
editButton
->
setEnabled
(
number
>=
1
);
removeButton
->
setEnabled
(
number
>=
1
);
findButton
->
setEnabled
(
number
>
2
);
nextButton
->
setEnabled
(
number
>
1
);
previousButton
->
setEnabled
(
number
>
1
);
submitButton
->
hide
();
cancelButton
->
hide
();
ui
->
editButton
->
setEnabled
(
number
>=
1
);
ui
->
removeButton
->
setEnabled
(
number
>=
1
);
ui
->
findButton
->
setEnabled
(
number
>
2
);
ui
->
nextButton
->
setEnabled
(
number
>
1
);
ui
->
previousButton
->
setEnabled
(
number
>
1
);
ui
->
submitButton
->
hide
();
ui
->
cancelButton
->
hide
();
break
;
}
}
void
AddressBook
::
findContact
()
{
dialog
->
show
()
;
FindDialog
dialog
;
if
(
dialog
->
exec
()
==
QDialog
::
Accepted
)
{
QString
contactName
=
dialog
->
getF
indText
();
if
(
dialog
.
exec
()
==
QDialog
::
Accepted
)
{
QString
contactName
=
dialog
.
f
indText
();
if
(
contacts
.
contains
(
contactName
))
{
nameLine
->
setText
(
contactName
);
addressText
->
setText
(
contacts
.
value
(
contactName
));
ui
->
nameLine
->
setText
(
contactName
);
ui
->
addressText
->
setText
(
contacts
.
value
(
contactName
));
}
else
{
QMessageBox
::
information
(
this
,
tr
(
"Contact Not Found"
),
tr
(
"Sorry,
\"
%1
\"
is not in your address book."
).
arg
(
contactName
));
...
...
@@ -320,8 +285,8 @@ void AddressBook::loadFromFile()
tr
(
"The file you are attempting to open contains no contacts."
));
}
else
{
QMap
<
QString
,
QString
>::
iterator
i
=
contacts
.
begin
();
nameLine
->
setText
(
i
.
key
());
addressText
->
setText
(
i
.
value
());
ui
->
nameLine
->
setText
(
i
.
key
());
ui
->
addressText
->
setText
(
i
.
value
());
}
}
...
...
doc/examples/addressbook-sdk/part7/addressbook.h
View file @
08345a27
...
...
@@ -2,10 +2,8 @@
#define ADDRESSBOOK_H
#include
<QtGui/QWidget>
#include
<QtGui/QPushButton>
#include
<QtGui/QLineEdit>
#include
<QtGui/QTextEdit>
#include
<QtGui/QMessageBox>
#include
<QtCore/QMap>
#include
"finddialog.h"
namespace
Ui
...
...
@@ -31,25 +29,14 @@ public slots:
void
next
();
void
previous
();
void
findContact
();
//! [slot definition]
void
saveToFile
();
void
loadFromFile
();
//! [slot definition]
private:
Ui
::
AddressBook
*
ui
;
void
updateInterface
(
Mode
mode
);
QPushButton
*
addButton
;
QPushButton
*
submitButton
;
QPushButton
*
cancelButton
;
QPushButton
*
editButton
;
QPushButton
*
removeButton
;
QPushButton
*
nextButton
;
QPushButton
*
previousButton
;
QPushButton
*
findButton
;
QPushButton
*
loadButton
;
QPushButton
*
saveButton
;
QLineEdit
*
nameLine
;
QTextEdit
*
addressText
;
QMap
<
QString
,
QString
>
contacts
;
QString
oldName
;
...
...
doc/examples/addressbook-sdk/part7/finddialog.cpp
View file @
08345a27
...
...
@@ -7,15 +7,8 @@ FindDialog::FindDialog(QWidget *parent) :
m_ui
(
new
Ui
::
FindDialog
)
{
m_ui
->
setupUi
(
this
);
lineEdit
=
new
QLineEdit
;
lineEdit
=
m_ui
->
lineEdit
;
findButton
=
new
QPushButton
;
findButton
=
m_ui
->
findButton
;
findText
=
""
;
connect
(
findButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
findClicked
()));
connect
(
m_ui
->
findButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
findClicked
()));
setWindowTitle
(
tr
(
"Find a Contact"
));
}
...
...
@@ -27,20 +20,18 @@ FindDialog::~FindDialog()
void
FindDialog
::
findClicked
()
{
QString
text
=
lineEdit
->
text
();
QString
text
=
m_ui
->
lineEdit
->
text
();
if
(
text
.
isEmpty
())
{
QMessageBox
::
information
(
this
,
tr
(
"Empty Field"
),
tr
(
"Please enter a name."
));
re
turn
;
re
ject
()
;
}
else
{
findText
=
text
;
lineEdit
->
clear
();
hide
();
accept
();
}
}
QString
FindDialog
::
getF
indText
()
QString
FindDialog
::
f
indText
()
{
return
findT
ext
;
return
m_ui
->
lineEdit
->
t
ext
()
;
}
doc/examples/addressbook-sdk/part7/finddialog.h
View file @
08345a27
...
...
@@ -14,16 +14,13 @@ class FindDialog : public QDialog {
public:
FindDialog
(
QWidget
*
parent
=
0
);
~
FindDialog
();
QString
getF
indText
();
QString
f
indText
();
public
slots
:
void
findClicked
();
private:
Ui
::
FindDialog
*
m_ui
;
QPushButton
*
findButton
;
QLineEdit
*
lineEdit
;
QString
findText
;
};
#endif // FINDDIALOG_H
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment