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[] optdepends = {};
string[] requiredby = {};
string[] optionalfor = {};
string[] provides = {};
string[] replaces = {};
string[] conflicts = {};
@ -671,11 +672,21 @@ namespace Pamac {
}
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.depends = depends;
deps.optdepends = optdepends;
deps.requiredby = requiredby;
deps.optionalfor = optionalfor;
deps.provides = provides;
deps.replaces = replaces;
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) {
deps_list.insert_with_values (out iter, -1,
0, dgettext (null, "Provides") + ":",

View File

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

View File

@ -948,7 +948,12 @@ namespace Pamac {
progress_dialog.spawn_in_term ({"echo", msg});
break;
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;
case Alpm.Event.Type.DATABASE_MISSING:
progress_dialog.spawn_in_term ({"echo", dgettext (null, "Database file for %s does not exist").printf (details[0])});