--------------Boundary-00=_TBWXJABQ8AXX8XYK9S4E Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Moin, this patch adds a plugin interface to KonqPopupmenu. If found the current way was too static. This PATCH consists of two parts. 1. It adds some public function to make information public to KonqPopupMenuPlugin Classes. 2. it adds a new class called KonqPopupMenuPlugin. You need to inherit this one and KLibLoader to create your own plugins. The Plugin class has two choices. Either use KonqPopupMenu::addAction( ) or it can use KonqPopupMenu directly. In some situations the XML GUI stuff is too limited then you could add a dummy entry and use the slotXMLGUIFinished() to manipulate the menu. A couple of plugins are still to come. One is a so called quick copy and quick move. It adds something similiar as the disknavigator to a popupmenu. Then you would right click go to the quick copy submenu and choose the path. I would be happy if this patch would be applied regards Holger --------------Boundary-00=_TBWXJABQ8AXX8XYK9S4E Content-Type: text/x-diff; charset="iso-8859-1"; name="konqpopuplugin.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="konqpopuplugin.patch" ZGlmZiAtdXJOIGxpYmtvbnFfb3JpZy9NYWtlZmlsZS5hbSBsaWJrb25xL01ha2VmaWxlLmFtCi0t LSBsaWJrb25xX29yaWcvTWFrZWZpbGUuYW0JTW9uIEF1ZyAgNiAxOTowMTozMyAyMDAxCisrKyBs aWJrb25xL01ha2VmaWxlLmFtCVN1biBPY3QgMjggMTg6Mjk6MDIgMjAwMQpAQCAtMzksOCArMzks MTEgQEAKIAoga2Rpcm5vdGlmeV9ESVIgPSAkKGtkZV9pbmNsdWRlcykKIAotZGlyZWN0b3J5X0RB VEEgPSBkaXJlY3RvcnlfYm9va21hcmtiYXIuZGVza3RvcAorZGlyZWN0b3J5X0RBVEEgPSBkaXJl Y3RvcnlfYm9va21hcmtiYXIuZGVza3RvcCAKIGRpcmVjdG9yeWRpciAgID0gJChrZGVfZGF0YWRp cikva2Jvb2ttYXJrCisKK3NlcnZpY2V0eXBlX0RBVEEgPSBrb25xcG9wdXBtZW51cGx1Z2luLmRl c2t0b3AKK3NlcnZpY2V0eXBlZGlyID0gJChrZGVfc2VydmljZXR5cGVzZGlyKQogCiBNRVRBU09V UkNFUyA9IEFVVE8KIApkaWZmIC11ck4gbGlia29ucV9vcmlnL2tvbnFfcG9wdXBtZW51LmNjIGxp YmtvbnEva29ucV9wb3B1cG1lbnUuY2MKLS0tIGxpYmtvbnFfb3JpZy9rb25xX3BvcHVwbWVudS5j YwlTdW4gT2N0IDIxIDAyOjMwOjI3IDIwMDEKKysrIGxpYmtvbnEva29ucV9wb3B1cG1lbnUuY2MJ TW9uIE9jdCAyOSAwMDoyMjo1MyAyMDAxCkBAIC0xLDUgKzEsNiBAQAogLyogVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CiAgICBDb3B5cmlnaHQgKEMpIDE5OTgsIDE5OTkgRGF2 aWQgRmF1cmUgPGZhdXJlQGtkZS5vcmc+CisgICBDb3B5cmlnaHQgKEMpIDIwMDEgSG9sZ2VyIEZy ZXl0aGVyIDxmcmV5dGhlckB5YWhvby5jb20+CiAKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMCw2ICsz MSw3IEBACiAjaW5jbHVkZSA8a3N0YW5kYXJkZGlycy5oPgogI2luY2x1ZGUgPGt4bWxndWlmYWN0 b3J5Lmg+CiAjaW5jbHVkZSA8a3htbGd1aWJ1aWxkZXIuaD4KKyNpbmNsdWRlIDxrbGlibG9hZGVy Lmg+CiAKICNpbmNsdWRlIDxhc3NlcnQuaD4KIApAQCAtODUsNyArODcsNyBAQAogICBpbnQgaWQg PSAwOwogCiAgIHNldEZvbnQoS0dsb2JhbFNldHRpbmdzOjptZW51Rm9udCgpKTsKLQorCW1fcGx1 Z2luTGlzdC5zZXRBdXRvRGVsZXRlKCB0cnVlICk7CiAgIG1fb3duQWN0aW9ucy5zZXRIaWdobGln aHRpbmdFbmFibGVkKCB0cnVlICk7CiAKICAgYXR0ck5hbWUgPSBRU3RyaW5nOjpmcm9tTGF0aW4x KCAibmFtZSIgKTsKQEAgLTQxNCw3ICs0MTYsMTAgQEAKICAgICAgIGlmICggaW5zZXJ0ZWRPZmZl ciApCiAgICAgICAgIGFkZFNlcGFyYXRvcigpOwogICB9Ci0KKyAgYWRkR3JvdXAoICJwbHVnaW5z IiApOwkKKyAgYWRkUGx1Z2lucyggKTsgLy8gbm93IGl0J3MgdGltZSB0byBhZGQgcGx1Z2lucwor ICBhZGRNZXJnZSggInBsdWdpbnMiICk7CisgIAogICBpZiAoICFtX3NNaW1lVHlwZS5pc0VtcHR5 KCkgJiYgc2hvd1Byb3BlcnRpZXNBbmRGaWxlVHlwZSApCiAgIHsKICAgICAgIGFjdCA9IG5ldyBL QWN0aW9uKCBpMThuKCAiRWRpdCBGaWxlIFR5cGUuLi4iICksIDAsIHRoaXMsIFNMT1QoIHNsb3RQ b3B1cE1pbWVUeXBlKCkgKSwKQEAgLTQ0MCw2ICs0NDUsNyBAQAogCiBLb25xUG9wdXBNZW51Ojp+ S29ucVBvcHVwTWVudSgpCiB7CisgIG1fcGx1Z2luTGlzdC5jbGVhciggKTsKICAgZGVsZXRlIG1f ZmFjdG9yeTsKICAgZGVsZXRlIG1fYnVpbGRlcjsKIH0KQEAgLTYwMiw2ICs2MDgsNzkgQEAKICAg bV9idWlsZGVyID0gbmV3IEtvbnFQb3B1cE1lbnVHVUlCdWlsZGVyKCB0aGlzICk7CiAgIG1fZmFj dG9yeSA9IG5ldyBLWE1MR1VJRmFjdG9yeSggbV9idWlsZGVyICk7CiB9CitRRG9tRWxlbWVudCBL b25xUG9wdXBNZW51OjpnZXREb21FbGVtZW50KCApeworCXJldHVybiBtX21lbnVFbGVtZW50Owor fQorUVN0cmluZyBLb25xUG9wdXBNZW51OjpnZXRNaW1lVHlwZSggKXsKKyAgICByZXR1cm4gbV9z TWltZVR5cGU7Cit9Cit2b2lkIEtvbnFQb3B1cE1lbnU6OmFkZFBsdWdpbnMoICl7CisvLyBzZWFy Y2ggZm9yIEtvbnFfUG9wdXBNZW51UGx1Z2lucyBpbnNwaXJlZCBieSBzaW1vbnMga3Byb3BzZGxn CisvL3NlYXJjaCBmb3IgYSBwbHVnaW4gd2l0aCB0aGUgcmlnaHQgcHJvdG9jb2wKKyAgS1RyYWRl cjo6T2ZmZXJMaXN0IHBsdWdpbl9vZmZlcnMgPSBLVHJhZGVyOjpzZWxmKCktPnF1ZXJ5KCJLb25x UG9wdXBNZW51L1BsdWdpbiIpOworCUtUcmFkZXI6Ok9mZmVyTGlzdDo6Q29uc3RJdGVyYXRvciBp dGVyYXRvciA9IHBsdWdpbl9vZmZlcnMuYmVnaW4oICk7CisJS1RyYWRlcjo6T2ZmZXJMaXN0OjpD b25zdEl0ZXJhdG9yIGVuZCA9IHBsdWdpbl9vZmZlcnMuZW5kKCApOworCS8vIHRyYXZlcnMgdGhl IG9mZmVybGlzdAorCWZvcig7IGl0ZXJhdG9yICE9IGVuZDsgKytpdGVyYXRvciApeworCQlRU3Ry aW5nIGxpYk5hbWUgPSAoKml0ZXJhdG9yKS0+bGlicmFyeSggKTsKKwkJaWYoIGxpYk5hbWUuaXNF bXB0eSggKSApIC8vIGlmIHRoZXJlIGlzIG5vIGxpYiBnbyB0byB0aGUgbmV4dCBvZmZlcgorCisJ CQljb250aW51ZTsKKwkJS0xpYnJhcnkgKmxpYiA9IEtMaWJMb2FkZXI6OnNlbGYoKS0+bGlicmFy eSggbGliTmFtZS5sb2NhbDhCaXQoKSApOworCQlpZiAoICFsaWIgKQorCQkJY29udGludWU7CisJ CUtMaWJGYWN0b3J5ICpmYWN0b3J5ID0gbGliLT5mYWN0b3J5KCApOworCQlpZiAoIWZhY3Rvcnkg KSB7CisJCQlkZWxldGUgbGliOworCQkJY29udGludWU7CisJCX0KKwkJUU9iamVjdCAqb2JqID0g ZmFjdG9yeS0+Y3JlYXRlKCB0aGlzLCAoKml0ZXJhdG9yKS0+bmFtZSgpLmxhdGluMSgpLCAiS29u cVBvcHVwTWVudVBsdWdpbiIgKTsKKwkJaWYgKCAhb2JqICkgeworCQkJZGVsZXRlIGxpYjsKKwkJ CS8vZGVsZXRlIGZhY3Rvcnk7IC8vIG1ha2VzIHNlbnNlIGJ1dCBTaW1vbiBkaWRuJ3QgZG8gaXQ/ IHNvIHdoYXQ/CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoICFvYmotPmluaGVyaXRzKCAiS29u cVBvcHVwTWVudVBsdWdpbiIgKSApeworCQkJZGVsZXRlIG9iajsKKwkJCWNvbnRpbnVlOworCQkJ Ly9kZWxldGUgbGliOyAvLyBpcyB0aGlzIG5lY2Vzc2FyeT8KKwkJCS8vZGVsZXRlIGZhY3Rvcnk7 IC8vIGlzIHRoaXMgbmVjZXNzYXJ5PworCQl9CisJCUtvbnFQb3B1cE1lbnVQbHVnaW4gKnBsdWdp biA9IHN0YXRpY19jYXN0PEtvbnFQb3B1cE1lbnVQbHVnaW4gKj4oIG9iaiApOworCQlpZiAoICFw bHVnaW4gKXsKKwkJICAgIGRlbGV0ZSBvYmo7CisJCSAgICBjb250aW51ZTsKKwkJfQorCQlwbHVn aW4tPmFjdGl2YXRlUG9wdXAoICk7CisJCS8vY29ubmVjdCh0aGlzLCBTSUdOQUwoWE1MR1VJRmlu aXNoZWQoKSApLCBwbHVnaW4sIFNMT1Qoc2xvdFhNTEdVSUZpbmlzaGVkKCkgKSApOworCQljb25u ZWN0KHRoaXMsIFNJR05BTChhYm91dFRvU2hvdyggKSApLCBwbHVnaW4sIFNMT1QoIHNsb3RYTUxH VUlGaW5pc2hlZCggKSApICk7CisJCW1fcGx1Z2luTGlzdC5hcHBlbmQoIHBsdWdpbiApOworCisJ fQorCit9CitLVVJMIEtvbnFQb3B1cE1lbnU6OmdldFVSTCggKSBjb25zdCB7CisgIHJldHVybiBt X3NWaWV3VVJMOworfQorS0ZpbGVJdGVtTGlzdCBLb25xUG9wdXBNZW51OjpnZXRLRmlsZUl0ZW1M aXN0KCApIGNvbnN0IHsKKyAgcmV0dXJuIG1fbHN0SXRlbXM7Cit9CitLVVJMOjpMaXN0IEtvbnFQ b3B1cE1lbnU6OmdldFBvcHVwVVJMTGlzdCggKSBjb25zdCB7CisgIHJldHVybiBtX2xzdFBvcHVw VVJMczsKK30KKy8qKgorCVBsdWdpbgorKi8KKworS29ucVBvcHVwTWVudVBsdWdpbjo6S29ucVBv cHVwTWVudVBsdWdpbiggS29ucVBvcHVwTWVudSAqX3BvcHVwICl7Cit9CitLb25xUG9wdXBNZW51 UGx1Z2luOjp+S29ucVBvcHVwTWVudVBsdWdpbiggKXsKIAorfQordm9pZCBLb25xUG9wdXBNZW51 UGx1Z2luOjphY3RpdmF0ZVBvcHVwKCApewogCit9Cit2b2lkIEtvbnFQb3B1cE1lbnVQbHVnaW46 OnNsb3RYTUxHVUlGaW5pc2hlZCggKXsKKworfQogI2luY2x1ZGUgImtvbnFfcG9wdXBtZW51Lm1v YyIKZGlmZiAtdXJOIGxpYmtvbnFfb3JpZy9rb25xX3BvcHVwbWVudS5oIGxpYmtvbnEva29ucV9w b3B1cG1lbnUuaAotLS0gbGlia29ucV9vcmlnL2tvbnFfcG9wdXBtZW51LmgJVHVlIE1heSAgMSAx MjowNDo0NCAyMDAxCisrKyBsaWJrb25xL2tvbnFfcG9wdXBtZW51LmgJU3VuIE9jdCAyOCAyMzoy MTozMiAyMDAxCkBAIC0xLDUgKzEsNiBAQAogLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtE RSBwcm9qZWN0CiAgICBDb3B5cmlnaHQgKEMpIDE5OTgsIDE5OTkgRGF2aWQgRmF1cmUgPGZhdXJl QGtkZS5vcmc+CisgICBDb3B5cmlnaHQgKEMpIDIwMDEgSG9sZ2VyIEZyZXl0aGVyIDxmcmV5dGhl ckB5YWhvby5jb20+CiAKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMSw5ICszMiwxMCBAQAogI2luY2x1 ZGUgPGtmaWxlaXRlbS5oPgogI2luY2x1ZGUgPGttaW1ldHlwZS5oPiAvLyBmb3IgS0RFRGVza3Rv cE1pbWVUeXBlCiAKKwogY2xhc3MgS05ld01lbnU7CiBjbGFzcyBLU2VydmljZTsKLQorY2xhc3Mg S29ucVBvcHVwTWVudVBsdWdpbjsKIC8qKgogICogVGhpcyBjbGFzcyBpbXBsZW1lbnRzIHRoZSBw b3B1cCBtZW51IGZvciBVUkxzIGluIGtvbnF1ZXJvciBhbmQga2Rlc2t0b3AKICAqIEl0J3MgdXNh Z2UgaXMgdmVyeSBzaW1wbGUgOiBvbiByaWdodCBjbGljaywgY3JlYXRlIHRoZSBLb25xUG9wdXBN ZW51IGluc3RhbmNlCkBAIC03OSw3ICs4MSwxNSBAQAogICB2aXJ0dWFsIFFEb21Eb2N1bWVudCBk b21Eb2N1bWVudCgpIGNvbnN0OwogCiAgIHZpcnR1YWwgS0FjdGlvbkNvbGxlY3Rpb24gKmFjdGlv bkNvbGxlY3Rpb24oKSBjb25zdDsKLQorICB2b2lkIGFkZEFjdGlvbiggS0FjdGlvbiAqYWN0aW9u LCBjb25zdCBRRG9tRWxlbWVudCAmbWVudSA9IFFEb21FbGVtZW50KCkgKTsKKyAgdm9pZCBhZGRB Y3Rpb24oIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IFFEb21FbGVtZW50ICZtZW51ID0gUURvbUVs ZW1lbnQoKSApOworICB2b2lkIGFkZFNlcGFyYXRvciggY29uc3QgUURvbUVsZW1lbnQgJm1lbnUg PSBRRG9tRWxlbWVudCgpICk7CisgIHZvaWQgYWRkR3JvdXAoIGNvbnN0IFFTdHJpbmcgJmdycCAp OworICBRRG9tRWxlbWVudCBnZXREb21FbGVtZW50KCApOworICBRU3RyaW5nIGdldE1pbWVUeXBl KCApOworCXZpcnR1YWwgS1VSTCBnZXRVUkwoICkgY29uc3Q7CisgIHZpcnR1YWwgS0ZpbGVJdGVt TGlzdCBnZXRLRmlsZUl0ZW1MaXN0KCkgY29uc3Q7CisgIHZpcnR1YWwgS1VSTDo6TGlzdCBnZXRQ b3B1cFVSTExpc3QoICkgY29uc3Q7CiBwdWJsaWMgc2xvdHM6CiAgIHZvaWQgc2xvdFBvcHVwTmV3 VmlldygpOwogICB2b2lkIHNsb3RQb3B1cEVtcHR5VHJhc2hCaW4oKTsKQEAgLTg5LDE4ICs5OSwx NyBAQAogICB2b2lkIHNsb3RQb3B1cE1pbWVUeXBlKCk7CiAgIHZvaWQgc2xvdFBvcHVwUHJvcGVy dGllcygpOwogCitzaWduYWxzOgorICB2b2lkIFhNTEdVSUZpbmlzaGVkKCApOworCiBwcm90ZWN0 ZWQ6CiAgIHZvaWQgcHJlcGFyZVhNTEdVSVN0dWZmKCk7Ci0gIHZvaWQgYWRkQWN0aW9uKCBLQWN0 aW9uICphY3Rpb24sIGNvbnN0IFFEb21FbGVtZW50ICZtZW51ID0gUURvbUVsZW1lbnQoKSApOwot ICB2b2lkIGFkZEFjdGlvbiggY29uc3QgY2hhciAqbmFtZSwgY29uc3QgUURvbUVsZW1lbnQgJm1l bnUgPSBRRG9tRWxlbWVudCgpICk7Ci0gIHZvaWQgYWRkU2VwYXJhdG9yKCBjb25zdCBRRG9tRWxl bWVudCAmbWVudSA9IFFEb21FbGVtZW50KCkgKTsKICAgdm9pZCBhZGRNZXJnZSggY29uc3QgY2hh ciAqbmFtZSApOwotICB2b2lkIGFkZEdyb3VwKCBjb25zdCBRU3RyaW5nICZncnAgKTsKLQogICBL QWN0aW9uQ29sbGVjdGlvbiAmbV9hY3Rpb25zOwogICBLQWN0aW9uQ29sbGVjdGlvbiBtX293bkFj dGlvbnM7CiAKIHByaXZhdGU6CisgIHZvaWQgYWRkUGx1Z2lucyggKTsKICAgS0FjdGlvbiAqbV9w YU5ld1ZpZXc7CiAgIEtOZXdNZW51ICptX3BNZW51TmV3OwogICBLVVJMIG1fc1ZpZXdVUkw7CkBA IC0xMTUsNiArMTI0LDI0IEBACiAgIEtYTUxHVUlGYWN0b3J5ICptX2ZhY3Rvcnk7CiAgIEtYTUxH VUlCdWlsZGVyICptX2J1aWxkZXI7CiAgIFFTdHJpbmcgYXR0ck5hbWU7CisgIFFQdHJMaXN0PEtv bnFQb3B1cE1lbnVQbHVnaW4+IG1fcGx1Z2luTGlzdDsKK307CisKK2NsYXNzIEtvbnFQb3B1cE1l bnVQbHVnaW4gOiBwdWJsaWMgUU9iamVjdCB7CisJUV9PQkpFQ1QKK3B1YmxpYzoKKwkvKioKKwkq IENvbnN0cnVjdG9yCisJKiBJZiB5b3Ugd2FudCB0byBpbnNlcnQgYSBkeW5hbWljIGl0ZW0gb3Ig bWVudSB0byBrb25xcG9wdXBtZW51CisJKiB0aGlzIGNsYXNzIGlzIHRoZSByaWdodCBjaG9pY2Uu CisJKiBDcmVhdGUgYSBLQWN0aW9uIGFuZCB1c2UgX3BvcHVwLT5hZGRBY3Rpb24obmV3IEtBY3Rp b24gKTsKKwkqIElmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIHN1Ym1lbnUgdXNlIF9wb3B1cC0+YWRk R3JvdXAoICk7CisJKi8KKwlLb25xUG9wdXBNZW51UGx1Z2luKCBLb25xUG9wdXBNZW51ICpfcG9w dXAgKTsgLy8gdGhpcyBzaG91bGQgYWxzbyBiZSB0aGUgcGFyZW50CisJdmlydHVhbCB+S29ucVBv cHVwTWVudVBsdWdpbiAoICk7CisJdmlydHVhbCB2b2lkIGFjdGl2YXRlUG9wdXAoICk7CitwdWJs aWMgc2xvdHM6CisJdmlydHVhbCB2b2lkIHNsb3RYTUxHVUlGaW5pc2hlZCggKTsKIH07CiAKICNl bmRpZgpkaWZmIC11ck4gbGlia29ucV9vcmlnL2tvbnFwb3B1cG1lbnVwbHVnaW4uZGVza3RvcCBs aWJrb25xL2tvbnFwb3B1cG1lbnVwbHVnaW4uZGVza3RvcAotLS0gbGlia29ucV9vcmlnL2tvbnFw b3B1cG1lbnVwbHVnaW4uZGVza3RvcAlUaHUgSmFuICAxIDAxOjAwOjAwIDE5NzAKKysrIGxpYmtv bnEva29ucXBvcHVwbWVudXBsdWdpbi5kZXNrdG9wCVN1biBPY3QgMjggMTg6MjQ6MTggMjAwMQpA QCAtMCwwICsxLDQgQEAKK1tEZXNrdG9wIEVudHJ5XQorVHlwZT1TZXJ2aWNlVHlwZQorWC1LREUt U2VydmljZVR5cGU9S29ucVBvcHVwTWVudS9QbHVnaW4KK0NvbW1lbnQ9UGx1Z2luIGZvciB0aGUg S29ucXVlciBQb3B1cE1lbnUK --------------Boundary-00=_TBWXJABQ8AXX8XYK9S4E--