-rw-r--r-- | noncore/settings/packagemanager/oconfitem.cpp | 47 | ||||
-rw-r--r-- | noncore/settings/packagemanager/oconfitem.h | 14 | ||||
-rw-r--r-- | noncore/settings/packagemanager/oipkg.cpp | 17 | ||||
-rw-r--r-- | noncore/settings/packagemanager/oipkgconfigdlg.cpp | 15 |
4 files changed, 57 insertions, 36 deletions
diff --git a/noncore/settings/packagemanager/oconfitem.cpp b/noncore/settings/packagemanager/oconfitem.cpp index a90730c..ffa936e 100644 --- a/noncore/settings/packagemanager/oconfitem.cpp +++ b/noncore/settings/packagemanager/oconfitem.cpp | |||
@@ -1,41 +1,42 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the Opie Project | 2 | This file is part of the Opie Project |
3 | 3 | ||
4 | Copyright (c) 2003 Dan Williams <drw@handhelds.org> | 4 | Copyright (c) 2003 Dan Williams <drw@handhelds.org> |
5 | =. | 5 | =. |
6 | .=l. | 6 | .=l. |
7 | .>+-= | 7 | .>+-= |
8 | _;:, .> :=|. This program is free software; you can | 8 | _;:, .> :=|. This program is free software; you can |
9 | .> <`_, > . <= redistribute it and/or modify it under | 9 | .> <`_, > . <= redistribute it and/or modify it under |
10 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | 10 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
11 | .="- .-=="i, .._ License as published by the Free Software | 11 | .="- .-=="i, .._ License as published by the Free Software |
12 | - . .-<_> .<> Foundation; either version 2 of the License, | 12 | - . .-<_> .<> Foundation; either version 2 of the License, |
13 | ._= =} : or (at your option) any later version. | 13 | ._= =} : or (at your option) any later version. |
14 | .%`+i> _;_. | 14 | .%`+i> _;_. |
15 | .i_,=:_. -<s. This program is distributed in the hope that | 15 | .i_,=:_. -<s. This program is distributed in the hope that |
16 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 16 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
17 | : .. .:, . . . without even the implied warranty of | 17 | : .. .:, . . . without even the implied warranty of |
18 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 18 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
19 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 19 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
20 | ..}^=.= = ; Library General Public License for more | 20 | ..}^=.= = ; Library General Public License for more |
21 | ++= -. .` .: details. | 21 | ++= -. .` .: details. |
22 | : = ...= . :.=- | 22 | : = ...= . :.=- |
23 | -. .:....=;==+<; You should have received a copy of the GNU | 23 | -. .:....=;==+<; You should have received a copy of the GNU |
24 | -_. . . )=. = Library General Public License along with | 24 | -_. . . )=. = Library General Public License along with |
25 | -- :-=` this library; see the file COPYING.LIB. | 25 | -- :-=` this library; see the file COPYING.LIB. |
26 | If not, write to the Free Software Foundation, | 26 | If not, write to the Free Software Foundation, |
27 | Inc., 59 Temple Place - Suite 330, | 27 | Inc., 59 Temple Place - Suite 330, |
28 | Boston, MA 02111-1307, USA. | 28 | Boston, MA 02111-1307, USA. |
29 | 29 | ||
30 | */ | 30 | */ |
31 | 31 | ||
32 | #include "oconfitem.h" | 32 | #include "oconfitem.h" |
33 | 33 | ||
34 | OConfItem::OConfItem( Type type, const QString &name, | 34 | OConfItem::OConfItem( Type type, const QString &name, const QString &value, |
35 | const QString &value, bool active ) | 35 | const QString &features, bool active ) |
36 | : m_type( type ) | 36 | : m_type( type ) |
37 | , m_name( name ) | 37 | , m_name( name ) |
38 | , m_value( value ) | 38 | , m_value( value ) |
39 | , m_features( features ) | ||
39 | , m_active( active ) | 40 | , m_active( active ) |
40 | { | 41 | { |
41 | } | 42 | } |
diff --git a/noncore/settings/packagemanager/oconfitem.h b/noncore/settings/packagemanager/oconfitem.h index 7c158c9..9972c00 100644 --- a/noncore/settings/packagemanager/oconfitem.h +++ b/noncore/settings/packagemanager/oconfitem.h | |||
@@ -28,48 +28,52 @@ _;:, .> :=|. This program is free software; you can | |||
28 | Boston, MA 02111-1307, USA. | 28 | Boston, MA 02111-1307, USA. |
29 | 29 | ||
30 | */ | 30 | */ |
31 | 31 | ||
32 | #ifndef OCONFITEM_H | 32 | #ifndef OCONFITEM_H |
33 | #define OCONFITEM_H | 33 | #define OCONFITEM_H |
34 | 34 | ||
35 | #include <qlist.h> | 35 | #include <qlist.h> |
36 | #include <qstring.h> | 36 | #include <qstring.h> |
37 | 37 | ||
38 | class OConfItem | 38 | class OConfItem |
39 | { | 39 | { |
40 | public: | 40 | public: |
41 | enum Type { Source, Destination, Option, Arch, NotDefined }; | 41 | enum Type { Source, Destination, Option, Arch, NotDefined }; |
42 | 42 | ||
43 | OConfItem( Type type = NotDefined, const QString &name = QString::null, | 43 | OConfItem( Type type = NotDefined, const QString &name = QString::null, |
44 | const QString &value = QString::null, bool active = true ); | 44 | const QString &value = QString::null, const QString &features = QString::null, |
45 | bool active = true ); | ||
45 | 46 | ||
46 | Type type() { return m_type; } | 47 | Type type() { return m_type; } |
47 | const QString &name() { return m_name; } | 48 | const QString &name() { return m_name; } |
48 | const QString &value() { return m_value; } | 49 | const QString &value() { return m_value; } |
50 | const QString &features() { return m_features; } | ||
49 | bool active() { return m_active; } | 51 | bool active() { return m_active; } |
50 | 52 | ||
51 | void setType( Type type ) { m_type = type; } | 53 | void setType( Type type ) { m_type = type; } |
52 | void setName( const QString &name ) { m_name = name; } | 54 | void setName( const QString &name ) { m_name = name; } |
53 | void setValue( const QString &value ) { m_value = value; } | 55 | void setValue( const QString &value ) { m_value = value; } |
54 | void setActive( bool active ) { m_active = active; } | 56 | void setFeatures( const QString &features ) { m_features = features; } |
57 | void setActive( bool active ) { m_active = active; } | ||
55 | 58 | ||
56 | private: | 59 | private: |
57 | Type m_type; // Type of configuration item | 60 | Type m_type; // Type of configuration item |
58 | QString m_name; // Name of item | 61 | QString m_name; // Name of item |
59 | QString m_value; // Value of item | 62 | QString m_value; // Value of item |
63 | QString m_features; // Comma-deliminated list of features this item supports | ||
60 | bool m_active; // Indicates whether item is currently active | 64 | bool m_active; // Indicates whether item is currently active |
61 | }; | 65 | }; |
62 | 66 | ||
63 | class OConfItemList : public QList<OConfItem> | 67 | class OConfItemList : public QList<OConfItem> |
64 | { | 68 | { |
65 | private: | 69 | private: |
66 | 70 | ||
67 | int compareItems( QCollection::Item item1, QCollection::Item item2 ) | 71 | int compareItems( QCollection::Item item1, QCollection::Item item2 ) |
68 | { | 72 | { |
69 | // Sort by OConfItem location then by type | 73 | // Sort by OConfItem location then by type |
70 | OConfItem::Type type1 = reinterpret_cast<OConfItem*>(item1)->type(); | 74 | OConfItem::Type type1 = reinterpret_cast<OConfItem*>(item1)->type(); |
71 | OConfItem::Type type2 = reinterpret_cast<OConfItem*>(item2)->type(); | 75 | OConfItem::Type type2 = reinterpret_cast<OConfItem*>(item2)->type(); |
72 | if ( type1 < type2 ) | 76 | if ( type1 < type2 ) |
73 | return -1; | 77 | return -1; |
74 | else if ( type1 == type2 ) | 78 | else if ( type1 == type2 ) |
75 | { | 79 | { |
diff --git a/noncore/settings/packagemanager/oipkg.cpp b/noncore/settings/packagemanager/oipkg.cpp index b0cc94d..a66bd51 100644 --- a/noncore/settings/packagemanager/oipkg.cpp +++ b/noncore/settings/packagemanager/oipkg.cpp | |||
@@ -140,33 +140,40 @@ void OIpkg::setConfigItems( OConfItemList *configList ) | |||
140 | confStream << "# Generated by Opie Package Manager\n\n"; | 140 | confStream << "# Generated by Opie Package Manager\n\n"; |
141 | 141 | ||
142 | OConfItemListIterator it( *m_confInfo ); | 142 | OConfItemListIterator it( *m_confInfo ); |
143 | for ( ; it.current(); ++it ) | 143 | for ( ; it.current(); ++it ) |
144 | { | 144 | { |
145 | OConfItem *item = it.current(); | 145 | OConfItem *item = it.current(); |
146 | 146 | ||
147 | // Only write out valid conf items | 147 | // Only write out valid conf items |
148 | if ( item->type() != OConfItem::NotDefined ) | 148 | if ( item->type() != OConfItem::NotDefined ) |
149 | { | 149 | { |
150 | QString confLine; | 150 | QString confLine; |
151 | if ( !item->active() ) | 151 | if ( !item->active() ) |
152 | confLine = "#"; | 152 | confLine = "#"; |
153 | 153 | ||
154 | switch ( item->type() ) | 154 | switch ( item->type() ) |
155 | { | 155 | { |
156 | case OConfItem::Source : confLine.append( "src " ); break; | 156 | case OConfItem::Source : |
157 | { | ||
158 | if ( item->features().contains( "Compressed" ) ) | ||
159 | confLine.append( "src/gz " ); | ||
160 | else | ||
161 | confLine.append( "src " ); | ||
162 | } | ||
163 | break; | ||
157 | case OConfItem::Destination : confLine.append( "dest " ); break; | 164 | case OConfItem::Destination : confLine.append( "dest " ); break; |
158 | case OConfItem::Option : confLine.append( "option " ); break; | 165 | case OConfItem::Option : confLine.append( "option " ); break; |
159 | case OConfItem::Arch : confLine.append( "arch " ); break; | 166 | case OConfItem::Arch : confLine.append( "arch " ); break; |
160 | default : break; | 167 | default : break; |
161 | }; | 168 | }; |
162 | 169 | ||
163 | confStream << confLine << " " << item->name() << " " << item->value() << "\n"; | 170 | confStream << confLine << " " << item->name() << " " << item->value() << "\n"; |
164 | } | 171 | } |
165 | } | 172 | } |
166 | 173 | ||
167 | confFile.close(); | 174 | confFile.close(); |
168 | } | 175 | } |
169 | else | 176 | else |
170 | { | 177 | { |
171 | // Problem writing to /etc/ipkg.conf, exit before removing other conf files | 178 | // Problem writing to /etc/ipkg.conf, exit before removing other conf files |
172 | return; | 179 | return; |
@@ -495,58 +502,64 @@ void OIpkg::loadConfiguration() | |||
495 | QString line = s.readLine().simplifyWhiteSpace(); | 502 | QString line = s.readLine().simplifyWhiteSpace(); |
496 | 503 | ||
497 | // Parse line and save info to the conf options list | 504 | // Parse line and save info to the conf options list |
498 | if ( !line.isEmpty() ) | 505 | if ( !line.isEmpty() ) |
499 | { | 506 | { |
500 | if ( !line.startsWith( "#" ) || | 507 | if ( !line.startsWith( "#" ) || |
501 | line.startsWith( "#src" ) || | 508 | line.startsWith( "#src" ) || |
502 | line.startsWith( "#dest" ) || | 509 | line.startsWith( "#dest" ) || |
503 | line.startsWith( "#arch" ) || | 510 | line.startsWith( "#arch" ) || |
504 | line.startsWith( "#option" ) ) | 511 | line.startsWith( "#option" ) ) |
505 | { | 512 | { |
506 | int pos = line.find( ' ', 1 ); | 513 | int pos = line.find( ' ', 1 ); |
507 | 514 | ||
508 | // Type | 515 | // Type |
509 | QString typeStr = line.left( pos ); | 516 | QString typeStr = line.left( pos ); |
510 | OConfItem::Type type; | 517 | OConfItem::Type type; |
518 | QString features; | ||
511 | if ( typeStr == "src" || typeStr == "#src" ) | 519 | if ( typeStr == "src" || typeStr == "#src" ) |
512 | type = OConfItem::Source; | 520 | type = OConfItem::Source; |
521 | else if ( typeStr == "src/gz" || typeStr == "#src/gz" ) | ||
522 | { | ||
523 | type = OConfItem::Source; | ||
524 | features = "Compressed"; | ||
525 | } | ||
513 | else if ( typeStr == "dest" || typeStr == "#dest" ) | 526 | else if ( typeStr == "dest" || typeStr == "#dest" ) |
514 | type = OConfItem::Destination; | 527 | type = OConfItem::Destination; |
515 | else if ( typeStr == "option" || typeStr == "#option" ) | 528 | else if ( typeStr == "option" || typeStr == "#option" ) |
516 | type = OConfItem::Option; | 529 | type = OConfItem::Option; |
517 | else if ( typeStr == "arch" || typeStr == "#arch" ) | 530 | else if ( typeStr == "arch" || typeStr == "#arch" ) |
518 | type = OConfItem::Arch; | 531 | type = OConfItem::Arch; |
519 | else | 532 | else |
520 | type = OConfItem::NotDefined; | 533 | type = OConfItem::NotDefined; |
521 | ++pos; | 534 | ++pos; |
522 | int endpos = line.find( ' ', pos ); | 535 | int endpos = line.find( ' ', pos ); |
523 | 536 | ||
524 | // Name | 537 | // Name |
525 | QString name = line.mid( pos, endpos - pos ); | 538 | QString name = line.mid( pos, endpos - pos ); |
526 | 539 | ||
527 | // Value | 540 | // Value |
528 | QString value = ""; | 541 | QString value = ""; |
529 | if ( endpos > -1 ) | 542 | if ( endpos > -1 ) |
530 | value = line.right( line.length() - endpos - 1 ); | 543 | value = line.right( line.length() - endpos - 1 ); |
531 | 544 | ||
532 | // Active | 545 | // Active |
533 | bool active = !line.startsWith( "#" ); | 546 | bool active = !line.startsWith( "#" ); |
534 | 547 | ||
535 | // Add to list | 548 | // Add to list |
536 | m_confInfo->append( new OConfItem( type, name, value, active ) ); | 549 | m_confInfo->append( new OConfItem( type, name, value, features, active ) ); |
537 | } | 550 | } |
538 | } | 551 | } |
539 | } | 552 | } |
540 | 553 | ||
541 | f.close(); | 554 | f.close(); |
542 | } | 555 | } |
543 | } | 556 | } |
544 | 557 | ||
545 | // Load Ipkg execution options from application configuration file | 558 | // Load Ipkg execution options from application configuration file |
546 | if ( m_config ) | 559 | if ( m_config ) |
547 | { | 560 | { |
548 | m_config->setGroup( "Ipkg" ); | 561 | m_config->setGroup( "Ipkg" ); |
549 | m_ipkgExecOptions = m_config->readNumEntry( "ExecOptions", m_ipkgExecOptions ); | 562 | m_ipkgExecOptions = m_config->readNumEntry( "ExecOptions", m_ipkgExecOptions ); |
550 | m_ipkgExecVerbosity = m_config->readNumEntry( "Verbosity", m_ipkgExecVerbosity ); | 563 | m_ipkgExecVerbosity = m_config->readNumEntry( "Verbosity", m_ipkgExecVerbosity ); |
551 | } | 564 | } |
552 | } | 565 | } |
diff --git a/noncore/settings/packagemanager/oipkgconfigdlg.cpp b/noncore/settings/packagemanager/oipkgconfigdlg.cpp index 886430f..d9a67f3 100644 --- a/noncore/settings/packagemanager/oipkgconfigdlg.cpp +++ b/noncore/settings/packagemanager/oipkgconfigdlg.cpp | |||
@@ -88,43 +88,45 @@ OIpkgConfigDlg::OIpkgConfigDlg( OIpkg *ipkg, bool installOptions, QWidget *paren | |||
88 | } | 88 | } |
89 | 89 | ||
90 | void OIpkgConfigDlg::accept() | 90 | void OIpkgConfigDlg::accept() |
91 | { | 91 | { |
92 | // Save server, destination and proxy configuration | 92 | // Save server, destination and proxy configuration |
93 | if ( !m_installOptions ) | 93 | if ( !m_installOptions ) |
94 | { | 94 | { |
95 | // Update proxy information before saving settings | 95 | // Update proxy information before saving settings |
96 | OConfItem *confItem = findConfItem( OConfItem::Option, "http_proxy" ); | 96 | OConfItem *confItem = findConfItem( OConfItem::Option, "http_proxy" ); |
97 | if ( confItem ) | 97 | if ( confItem ) |
98 | { | 98 | { |
99 | confItem->setValue( m_proxyHttpServer->text() ); | 99 | confItem->setValue( m_proxyHttpServer->text() ); |
100 | confItem->setActive( m_proxyHttpActive->isChecked() ); | 100 | confItem->setActive( m_proxyHttpActive->isChecked() ); |
101 | } | 101 | } |
102 | else | 102 | else |
103 | m_configs->append( new OConfItem( OConfItem::Option, "http_proxy", | 103 | m_configs->append( new OConfItem( OConfItem::Option, "http_proxy", |
104 | m_proxyHttpServer->text(), m_proxyHttpActive->isChecked() ) ); | 104 | m_proxyHttpServer->text(), QString::null, |
105 | m_proxyHttpActive->isChecked() ) ); | ||
105 | 106 | ||
106 | confItem = findConfItem( OConfItem::Option, "ftp_proxy" ); | 107 | confItem = findConfItem( OConfItem::Option, "ftp_proxy" ); |
107 | if ( confItem ) | 108 | if ( confItem ) |
108 | { | 109 | { |
109 | confItem->setValue( m_proxyFtpServer->text() ); | 110 | confItem->setValue( m_proxyFtpServer->text() ); |
110 | confItem->setActive( m_proxyFtpActive->isChecked() ); | 111 | confItem->setActive( m_proxyFtpActive->isChecked() ); |
111 | } | 112 | } |
112 | else | 113 | else |
113 | m_configs->append( new OConfItem( OConfItem::Option, "ftp_proxy", | 114 | m_configs->append( new OConfItem( OConfItem::Option, "ftp_proxy", |
114 | m_proxyFtpServer->text(), m_proxyFtpActive->isChecked() ) ); | 115 | m_proxyFtpServer->text(), QString::null, |
116 | m_proxyFtpActive->isChecked() ) ); | ||
115 | 117 | ||
116 | confItem = findConfItem( OConfItem::Option, "proxy_username" ); | 118 | confItem = findConfItem( OConfItem::Option, "proxy_username" ); |
117 | if ( confItem ) | 119 | if ( confItem ) |
118 | confItem->setValue( m_proxyUsername->text() ); | 120 | confItem->setValue( m_proxyUsername->text() ); |
119 | else | 121 | else |
120 | m_configs->append( new OConfItem( OConfItem::Option, "proxy_username", | 122 | m_configs->append( new OConfItem( OConfItem::Option, "proxy_username", |
121 | m_proxyUsername->text() ) ); | 123 | m_proxyUsername->text() ) ); |
122 | 124 | ||
123 | confItem = findConfItem( OConfItem::Option, "proxy_password" ); | 125 | confItem = findConfItem( OConfItem::Option, "proxy_password" ); |
124 | if ( confItem ) | 126 | if ( confItem ) |
125 | confItem->setValue( m_proxyPassword->text() ); | 127 | confItem->setValue( m_proxyPassword->text() ); |
126 | else | 128 | else |
127 | m_configs->append( new OConfItem( OConfItem::Option, "proxy_password", | 129 | m_configs->append( new OConfItem( OConfItem::Option, "proxy_password", |
128 | m_proxyPassword->text() ) ); | 130 | m_proxyPassword->text() ) ); |
129 | 131 | ||
130 | m_ipkg->setConfigItems( m_configs ); | 132 | m_ipkg->setConfigItems( m_configs ); |
@@ -522,35 +524,36 @@ void OIpkgConfigDlg::slotServerUpdate() | |||
522 | server->setValue( m_serverLocation->text() ); | 524 | server->setValue( m_serverLocation->text() ); |
523 | server->setActive( m_serverActive->isChecked() ); | 525 | server->setActive( m_serverActive->isChecked() ); |
524 | 526 | ||
525 | // Check if server name has changed, if it has then we need to replace the key in the map | 527 | // Check if server name has changed, if it has then we need to replace the key in the map |
526 | if ( m_serverCurrName != newName ) | 528 | if ( m_serverCurrName != newName ) |
527 | { | 529 | { |
528 | // Update server name | 530 | // Update server name |
529 | server->setName( newName ); | 531 | server->setName( newName ); |
530 | 532 | ||
531 | // Update list box | 533 | // Update list box |
532 | m_serverList->changeItem( newName, m_serverCurrent ); | 534 | m_serverList->changeItem( newName, m_serverCurrent ); |
533 | } | 535 | } |
534 | } | 536 | } |
535 | } | 537 | } |
536 | else | 538 | else |
537 | { | 539 | { |
538 | // Add new destination to configuration list | 540 | // Add new server to configuration list |
539 | m_configs->append( new OConfItem( OConfItem::Source, newName, | 541 | // TODO - support src/gz |
540 | m_serverLocation->text(), m_serverActive->isChecked() ) ); | 542 | m_configs->append( new OConfItem( OConfItem::Source, newName, m_serverLocation->text(), |
543 | QString::null, m_serverActive->isChecked() ) ); | ||
541 | m_configs->sort(); | 544 | m_configs->sort(); |
542 | 545 | ||
543 | m_serverList->insertItem( newName ); | 546 | m_serverList->insertItem( newName ); |
544 | m_serverList->setCurrentItem( m_serverList->count() ); | 547 | m_serverList->setCurrentItem( m_serverList->count() ); |
545 | m_serverNew = false; | 548 | m_serverNew = false; |
546 | } | 549 | } |
547 | } | 550 | } |
548 | 551 | ||
549 | void OIpkgConfigDlg::slotDestEdit( int index ) | 552 | void OIpkgConfigDlg::slotDestEdit( int index ) |
550 | { | 553 | { |
551 | m_destNew = false; | 554 | m_destNew = false; |
552 | m_destCurrent = index; | 555 | m_destCurrent = index; |
553 | 556 | ||
554 | // Find selected destination in list | 557 | // Find selected destination in list |
555 | OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() ); | 558 | OConfItem *destination = findConfItem( OConfItem::Destination, m_destList->currentText() ); |
556 | 559 | ||
@@ -617,24 +620,24 @@ void OIpkgConfigDlg::slotDestUpdate() | |||
617 | 620 | ||
618 | // Check if destination name has changed, if it has then we need to replace the key in the map | 621 | // Check if destination name has changed, if it has then we need to replace the key in the map |
619 | if ( m_destCurrName != newName ) | 622 | if ( m_destCurrName != newName ) |
620 | { | 623 | { |
621 | // Update destination name | 624 | // Update destination name |
622 | destination->setName( newName ); | 625 | destination->setName( newName ); |
623 | 626 | ||
624 | // Update list box | 627 | // Update list box |
625 | m_destList->changeItem( newName, m_destCurrent ); | 628 | m_destList->changeItem( newName, m_destCurrent ); |
626 | } | 629 | } |
627 | } | 630 | } |
628 | } | 631 | } |
629 | else | 632 | else |
630 | { | 633 | { |
631 | // Add new destination to configuration list | 634 | // Add new destination to configuration list |
632 | m_configs->append( new OConfItem( OConfItem::Destination, newName, | 635 | m_configs->append( new OConfItem( OConfItem::Destination, newName, |
633 | m_destLocation->text(), m_destActive->isChecked() ) ); | 636 | m_destLocation->text(), QString::null, m_destActive->isChecked() ) ); |
634 | m_configs->sort(); | 637 | m_configs->sort(); |
635 | 638 | ||
636 | m_destList->insertItem( newName ); | 639 | m_destList->insertItem( newName ); |
637 | m_destList->setCurrentItem( m_destList->count() ); | 640 | m_destList->setCurrentItem( m_destList->count() ); |
638 | m_destNew = false; | 641 | m_destNew = false; |
639 | } | 642 | } |
640 | } | 643 | } |