From kde-core-devel Thu Mar 02 16:02:31 2000 From: Michael Koch Date: Thu, 02 Mar 2000 16:02:31 +0000 To: kde-core-devel Subject: Re: Open Recent... class ? X-MARC-Message: https://marc.info/?l=kde-core-devel&m=95201337402831 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD" --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/plain Content-Transfer-Encoding: 8bit Hi, I've written a little class for the "Open Recent ..." problem. Its an action derived from KSelectAction. And can easily used The source is in the attached files. Its also commited and works in KWrite. Any commens or suggestions ? Ciao, Michael -- koch@kde.org, m_koch@bigfoot.de http://heaven.riednet.wh.tu-darmstadt.de/~mkoch To me vi is Zen. To use vi is to practice zen. Every command is a koan. Profound to the user, unintelligible to the uninitiated. You discover truth everytime you use it. -- reddy@lion.austin.ibm.com --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/x-c++; name="krfaction.h" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="krfaction.h" I2lmbmRlZiBfX2tyZmFjdGlvbl9oX18KI2RlZmluZSBfX2tyZmFjdGlvbl9oX18KCiNpbmNsdWRl IDxrdXJsLmg+CiNpbmNsdWRlIDxrYWN0aW9uLmg+CgpjbGFzcyBLQ29uZmlnOwoKY2xhc3MgS1Jl Y2VudEZpbGVzQWN0aW9uIDogcHVibGljIEtMaXN0QWN0aW9uCnsKICBRX09CSkVDVAoKcHVibGlj OgoKICBLUmVjZW50RmlsZXNBY3Rpb24oIFFPYmplY3QqIHBhcmVudCA9IDAsIGNvbnN0IGNoYXIq IG5hbWUgPSAwLCB1bnNpZ25lZCBpbnQgbWF4SXRlbXMgPSAxMCApOwogIH5LUmVjZW50RmlsZXNB Y3Rpb24oKTsKCiAgdW5zaWduZWQgaW50IG1heEl0ZW1zKCk7CiAgdm9pZCBzZXRNYXhJdGVtcygg dW5zaWduZWQgaW50ICk7CiAgCiAgdm9pZCBhZGRVUkwoIGNvbnN0IEtVUkwmICk7CiAgdm9pZCBy ZW1vdmVVUkwoIGNvbnN0IEtVUkwmICk7CiAgdm9pZCBjbGVhclVSTExpc3QoKTsKCiAgdm9pZCBs b2FkRW50cmllcyggS0NvbmZpZyogKTsKICB2b2lkIHNhdmVFbnRyaWVzKCBLQ29uZmlnKiApOwoK c2lnbmFsczoKCiAgdm9pZCB1cmxTZWxlY3RlZCggY29uc3QgS1VSTCYgKTsKCnByb3RlY3RlZCBz bG90czoKCiAgdm9pZCBpdGVtU2VsZWN0ZWQoIGNvbnN0IFFTdHJpbmcmICk7Cgpwcml2YXRlOgoK ICB1bnNpZ25lZCBpbnQgbV9tYXhJdGVtczsKfTsKCiNlbmRpZiAvLyBfX2tyZmFjdGlvbl9oX18K --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD Content-Type: text/x-c++; name="krfaction.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="krfaction.cpp" I2luY2x1ZGUgPHFzdHJpbmdsaXN0Lmg+CgojaW5jbHVkZSA8a2NvbmZpZy5oPgojaW5jbHVkZSA8 a2xvY2FsZS5oPgoKI2luY2x1ZGUgImtyZmFjdGlvbi5oIgoKS1JlY2VudEZpbGVzQWN0aW9uOjpL UmVjZW50RmlsZXNBY3Rpb24oIFFPYmplY3QqIHBhcmVudCwgY29uc3QgY2hhciogbmFtZSwgdW5z aWduZWQgaW50IG1heEl0ZW1zICkKICA6IEtMaXN0QWN0aW9uKCBpMThuKCAiT3BlbiByZWNlbnQu Li4iICksIDAsIHBhcmVudCwgbmFtZSApCiAgLCBtX21heEl0ZW1zKCBtYXhJdGVtcyApCnsKICAg IGNvbm5lY3QoIHRoaXMsIFNJR05BTCggYWN0aXZhdGVkKCBjb25zdCBRU3RyaW5nJiApICksCgkg ICAgIHRoaXMsIFNMT1QoIGl0ZW1TZWxlY3RlZCggY29uc3QgUVN0cmluZyYgKSApICk7Cn0KCktS ZWNlbnRGaWxlc0FjdGlvbjo6fktSZWNlbnRGaWxlc0FjdGlvbigpCnsKfQoKdW5zaWduZWQgaW50 IEtSZWNlbnRGaWxlc0FjdGlvbjo6bWF4SXRlbXMoKQp7CiAgICByZXR1cm4gbV9tYXhJdGVtczsK fQoKdm9pZCBLUmVjZW50RmlsZXNBY3Rpb246OnNldE1heEl0ZW1zKCB1bnNpZ25lZCBpbnQgbWF4 SXRlbXMgKQp7CiAgICBRU3RyaW5nTGlzdCBsc3QgICAgICAgPSBpdGVtcygpOwogICAgdW5zaWdu ZWQgaW50IG9sZENvdW50ID0gbHN0LmNvdW50KCk7CiAgICAKICAgIC8vIHNldCBuZXcgbWF4SXRl bXMKICAgIG1fbWF4SXRlbXMgPSBtYXhJdGVtczsKCiAgICAvLyByZW1vdmUgYWxsIGl0ZW1zIHRo YXQgYXJlIHRvbyBtdWNoCiAgICB3aGlsZSggbHN0LmNvdW50KCkgPiBtYXhJdGVtcyApCiAgICB7 CgkvLyByZW1vdmUgbGFzdCBpdGVtCglsc3QucmVtb3ZlKCBsc3QubGFzdCgpICk7CiAgICB9CiAg ICAKICAgIC8vIHNldCBuZXcgbGlzdCBpZiBjaGFuZ2VkCiAgICBpZiggbHN0LmNvdW50KCkgIT0g b2xkQ291bnQgKQoJc2V0SXRlbXMoIGxzdCApOwp9Cgp2b2lkIEtSZWNlbnRGaWxlc0FjdGlvbjo6 YWRkVVJMKCBjb25zdCBLVVJMJiB1cmwgKQp7CiAgICBRU3RyaW5nICAgICBmaWxlID0gdXJsLnVy bCgpOwogICAgUVN0cmluZ0xpc3QgbHN0ID0gaXRlbXMoKTsKCiAgICAvLyByZW1vdmUgZmlsZSBp ZiBhbHJlYWR5IGluIGxpc3QKICAgIGxzdC5yZW1vdmUoIGZpbGUgKTsKICAgIAogICAgLy8gcmVt b3ZlIGxhcyBpdGVtIGlmIGFscmVhZHkgbWF4aXRlbXMgaW4gbGlzdAogICAgaWYoIGxzdC5jb3Vu dCgpID09IG1fbWF4SXRlbXMgKQogICAgewoJLy8gcmVtb3ZlIGxhc3QgaXRlbQoJbHN0LnJlbW92 ZSggbHN0Lmxhc3QoKSApOwogICAgfQogICAgCiAgICAvLyBhZGQgZmlsZSB0byBsaXN0CiAgICBs c3QucHJlcGVuZCggZmlsZSApOwogICAgc2V0SXRlbXMoIGxzdCApOwp9Cgp2b2lkIEtSZWNlbnRG aWxlc0FjdGlvbjo6cmVtb3ZlVVJMKCBjb25zdCBLVVJMJiB1cmwgKQp7CiAgICBRU3RyaW5nTGlz dCBsc3QgPSBpdGVtcygpOwogICAgUVN0cmluZyAgICAgZmlsZSA9IHVybC51cmwoKTsKCiAgICAv LyByZW1vdmUgdXJsCiAgICBpZiggbHN0LmNvdW50KCkgPiAwICkKICAgIHsKCWxzdC5yZW1vdmUo IGZpbGUgKTsKCXNldEl0ZW1zKCBsc3QgKTsKICAgIH0KfQoKdm9pZCBLUmVjZW50RmlsZXNBY3Rp b246OmNsZWFyVVJMTGlzdCgpCnsKICAgIGNsZWFyKCk7Cn0KCnZvaWQgS1JlY2VudEZpbGVzQWN0 aW9uOjpsb2FkRW50cmllcyggS0NvbmZpZyogY29uZmlnICkKewogICAgUVN0cmluZyAgICAga2V5 OwogICAgUVN0cmluZyAgICAgdmFsdWU7CiAgICBRU3RyaW5nTGlzdCBsc3Q7CiAgICAKICAgIGNv bmZpZy0+c2V0R3JvdXAoICJSZWNlbnRGaWxlcyIgKTsKCiAgICAvLyByZWFkIGZpbGUgbGlzdAog ICAgZm9yKCB1bnNpZ25lZCBpbnQgaSA9IDEgOyBpIDw9IG1fbWF4SXRlbXMgOyBpKysgKQogICAg ewogICAgICAgIGtleSA9IFFTdHJpbmcoICJGaWxlJTEiICkuYXJnKCBpICk7Cgl2YWx1ZSA9IGNv bmZpZy0+cmVhZEVudHJ5KCBrZXksIFFTdHJpbmc6Om51bGwgKTsKCWxzdC5hcHBlbmQoIHZhbHVl ICk7CiAgICB9CiAgICAKICAgIC8vIHNldCBmaWxlCiAgICBzZXRJdGVtcyggbHN0ICk7Cn0KCnZv aWQgS1JlY2VudEZpbGVzQWN0aW9uOjpzYXZlRW50cmllcyggS0NvbmZpZyogY29uZmlnICkKewog ICAgUVN0cmluZyAgICAga2V5OwogICAgUVN0cmluZyAgICAgdmFsdWU7CiAgICBRU3RyaW5nTGlz dCBsc3QgPSBpdGVtcygpOwogICAgCiAgICBjb25maWctPnNldEdyb3VwKCAiUmVjZW50RmlsZXMi ICk7CgogICAgLy8gd3JpdGUgZmlsZSBsaXN0CiAgICBmb3IoIHVuc2lnbmVkIGludCBpID0gMSA7 IGkgPD0gbHN0LmNvdW50KCkgOyBpKysgKQogICAgewoJa2V5ID0gUVN0cmluZyggIkZpbGUlMSIg KS5hcmcoIGkgKTsKCXZhbHVlID0gbHN0WyBpIC0gMSBdOwoJY29uZmlnLT53cml0ZUVudHJ5KCBr ZXksIHZhbHVlICk7CiAgICB9Cn0KCnZvaWQgS1JlY2VudEZpbGVzQWN0aW9uOjppdGVtU2VsZWN0 ZWQoIGNvbnN0IFFTdHJpbmcmIHRleHQgKQp7CiAgICBlbWl0IHVybFNlbGVjdGVkKCBLVVJMKCB0 ZXh0ICkgKTsKfQo= --Boundary-=_nWlrBbmQBhCDarzOwKkYHIDdqSCD--