show optional_for in deps list and show a warning on optdeps removal

This commit is contained in:
guinux 2015-08-20 18:23:43 +02:00
parent 177dc8e12a
commit 3728e9b630
4 changed files with 31 additions and 1 deletions

View File

@ -637,6 +637,7 @@ namespace Pamac {
string[] depends = {}; string[] depends = {};
string[] optdepends = {}; string[] optdepends = {};
string[] requiredby = {}; string[] requiredby = {};
string[] optionalfor = {};
string[] provides = {}; string[] provides = {};
string[] replaces = {}; string[] replaces = {};
string[] conflicts = {}; string[] conflicts = {};
@ -671,11 +672,21 @@ namespace Pamac {
} }
Alpm.List.free_all (list); Alpm.List.free_all (list);
} }
if (alpm_pkg.db.name == "local") {
Alpm.List<string?> *list = alpm_pkg.compute_optionalfor ();
int i = 0;
while (i < list->length) {
optionalfor += list->nth_data (i);
i++;
}
Alpm.List.free_all (list);
}
} }
deps.repo = repo; deps.repo = repo;
deps.depends = depends; deps.depends = depends;
deps.optdepends = optdepends; deps.optdepends = optdepends;
deps.requiredby = requiredby; deps.requiredby = requiredby;
deps.optionalfor = optionalfor;
deps.provides = provides; deps.provides = provides;
deps.replaces = replaces; deps.replaces = replaces;
deps.conflicts = conflicts; deps.conflicts = conflicts;

View File

@ -308,6 +308,19 @@ namespace Pamac {
} }
} }
} }
if (deps.repo == "local") {
if (deps.optionalfor.length != 0) {
deps_list.insert_with_values (out iter, -1,
0, dgettext (null, "Optional For") + ":",
1, deps.optionalfor[0]);
i = 1;
while (i < deps.optionalfor.length) {
deps_list.insert_with_values (out iter, -1,
1, deps.optionalfor[i]);
i++;
}
}
}
if (deps.provides.length != 0) { if (deps.provides.length != 0) {
deps_list.insert_with_values (out iter, -1, deps_list.insert_with_values (out iter, -1,
0, dgettext (null, "Provides") + ":", 0, dgettext (null, "Provides") + ":",

View File

@ -87,6 +87,7 @@ namespace Pamac {
string[] depends; string[] depends;
string[] optdepends; string[] optdepends;
string[] requiredby; string[] requiredby;
string[] optionalfor;
string[] provides; string[] provides;
string[] replaces; string[] replaces;
string[] conflicts; string[] conflicts;

View File

@ -948,7 +948,12 @@ namespace Pamac {
progress_dialog.spawn_in_term ({"echo", msg}); progress_dialog.spawn_in_term ({"echo", msg});
break; break;
case Alpm.Event.Type.OPTDEP_REMOVAL: case Alpm.Event.Type.OPTDEP_REMOVAL:
progress_dialog.spawn_in_term ({"echo", dgettext (null, "%s optionally requires %s").printf (details[0], details[1])}); msg = dgettext (null, "%s optionally requires %s").printf (details[0], details[1]);
progress_dialog.spawn_in_term ({"echo", msg});
Gtk.TextIter end_iter;
msg += "\n";
transaction_info_dialog.textbuffer.get_end_iter (out end_iter);
transaction_info_dialog.textbuffer.insert (ref end_iter, msg, msg.length);
break; break;
case Alpm.Event.Type.DATABASE_MISSING: case Alpm.Event.Type.DATABASE_MISSING:
progress_dialog.spawn_in_term ({"echo", dgettext (null, "Database file for %s does not exist").printf (details[0])}); progress_dialog.spawn_in_term ({"echo", dgettext (null, "Database file for %s does not exist").printf (details[0])});