Mercurial > pidgin
changeset 24096:d9d31ff2e7f8
merge of 'b341289e9194564cc4f7250228a66b854c2ec3c5'
and 'd566b6f77a48d607fad872411a4fcd2d9f86c558'
author | Kevin Stange <kevin@simguy.net> |
---|---|
date | Thu, 11 Sep 2008 20:26:21 +0000 |
parents | f869a6e43a12 (diff) 5045f2ce9cff (current diff) |
children | ec85a522b455 dc25ef2669f6 |
files | pidgin/artwork/art-tools/clean-svg-definitions.sh pidgin/artwork/art-tools/render-pidgin-emotes.rb pidgin/artwork/hicolor/16x16/actions/pidgin-change-bgcolor.png pidgin/artwork/hicolor/16x16/actions/pidgin-change-fgcolor.png pidgin/artwork/hicolor/16x16/actions/pidgin-drag-down.png pidgin/artwork/hicolor/16x16/actions/pidgin-drag-left.png pidgin/artwork/hicolor/16x16/actions/pidgin-drag-right.png pidgin/artwork/hicolor/16x16/actions/pidgin-drag-up.png pidgin/artwork/hicolor/16x16/actions/pidgin-emote-select.png pidgin/artwork/hicolor/16x16/actions/pidgin-font-face.png pidgin/artwork/hicolor/16x16/actions/pidgin-font-size-down.png pidgin/artwork/hicolor/16x16/actions/pidgin-font-size-up.png pidgin/artwork/hicolor/16x16/actions/pidgin-get-attention.png pidgin/artwork/hicolor/16x16/actions/pidgin-insert-image.png pidgin/artwork/hicolor/16x16/actions/pidgin-insert-link.png pidgin/artwork/hicolor/16x16/actions/pidgin-insert.png pidgin/artwork/hicolor/16x16/actions/pidgin-message-new.png pidgin/artwork/hicolor/16x16/actions/pidgin-send-file.png pidgin/artwork/hicolor/16x16/actions/pidgin-unblock.png pidgin/artwork/hicolor/16x16/actions/pidgin-view-plugins.png pidgin/artwork/hicolor/16x16/actions/pidgin-view-transfers.png pidgin/artwork/hicolor/16x16/animations/process-working0.png pidgin/artwork/hicolor/16x16/animations/process-working1.png pidgin/artwork/hicolor/16x16/animations/process-working10.png pidgin/artwork/hicolor/16x16/animations/process-working11.png pidgin/artwork/hicolor/16x16/animations/process-working12.png pidgin/artwork/hicolor/16x16/animations/process-working13.png pidgin/artwork/hicolor/16x16/animations/process-working14.png pidgin/artwork/hicolor/16x16/animations/process-working15.png pidgin/artwork/hicolor/16x16/animations/process-working16.png pidgin/artwork/hicolor/16x16/animations/process-working17.png pidgin/artwork/hicolor/16x16/animations/process-working18.png pidgin/artwork/hicolor/16x16/animations/process-working19.png pidgin/artwork/hicolor/16x16/animations/process-working2.png pidgin/artwork/hicolor/16x16/animations/process-working20.png pidgin/artwork/hicolor/16x16/animations/process-working21.png pidgin/artwork/hicolor/16x16/animations/process-working22.png pidgin/artwork/hicolor/16x16/animations/process-working23.png pidgin/artwork/hicolor/16x16/animations/process-working24.png pidgin/artwork/hicolor/16x16/animations/process-working25.png pidgin/artwork/hicolor/16x16/animations/process-working26.png pidgin/artwork/hicolor/16x16/animations/process-working27.png pidgin/artwork/hicolor/16x16/animations/process-working28.png pidgin/artwork/hicolor/16x16/animations/process-working29.png pidgin/artwork/hicolor/16x16/animations/process-working3.png pidgin/artwork/hicolor/16x16/animations/process-working30.png pidgin/artwork/hicolor/16x16/animations/process-working4.png pidgin/artwork/hicolor/16x16/animations/process-working5.png pidgin/artwork/hicolor/16x16/animations/process-working6.png pidgin/artwork/hicolor/16x16/animations/process-working7.png pidgin/artwork/hicolor/16x16/animations/process-working8.png pidgin/artwork/hicolor/16x16/animations/process-working9.png pidgin/artwork/hicolor/16x16/animations/typing0.png pidgin/artwork/hicolor/16x16/animations/typing1.png pidgin/artwork/hicolor/16x16/animations/typing2.png pidgin/artwork/hicolor/16x16/animations/typing3.png pidgin/artwork/hicolor/16x16/animations/typing4.png pidgin/artwork/hicolor/16x16/animations/typing5.png pidgin/artwork/hicolor/16x16/apps/pidgin-aim.png pidgin/artwork/hicolor/16x16/apps/pidgin-bonjour.png pidgin/artwork/hicolor/16x16/apps/pidgin-facebook.png pidgin/artwork/hicolor/16x16/apps/pidgin-gadu-gadu.png pidgin/artwork/hicolor/16x16/apps/pidgin-google-talk.png pidgin/artwork/hicolor/16x16/apps/pidgin-icq.png pidgin/artwork/hicolor/16x16/apps/pidgin-irc.png pidgin/artwork/hicolor/16x16/apps/pidgin-jabber.png pidgin/artwork/hicolor/16x16/apps/pidgin-meanwhile.png pidgin/artwork/hicolor/16x16/apps/pidgin-msn.png pidgin/artwork/hicolor/16x16/apps/pidgin-myspace.png pidgin/artwork/hicolor/16x16/apps/pidgin-novell.png pidgin/artwork/hicolor/16x16/apps/pidgin-qq.png pidgin/artwork/hicolor/16x16/apps/pidgin-silc.png pidgin/artwork/hicolor/16x16/apps/pidgin-simple.png pidgin/artwork/hicolor/16x16/apps/pidgin-yahoo.png pidgin/artwork/hicolor/16x16/apps/pidgin-zephyr.png pidgin/artwork/hicolor/16x16/apps/pidgin.png pidgin/artwork/hicolor/16x16/devices/pidgin-hiptop.png pidgin/artwork/hicolor/16x16/devices/pidgin-mobile.png pidgin/artwork/hicolor/16x16/emblems/pidgin-aol-client.png pidgin/artwork/hicolor/16x16/emblems/pidgin-birthday.png pidgin/artwork/hicolor/16x16/emblems/pidgin-blocked.png pidgin/artwork/hicolor/16x16/emblems/pidgin-bot.png pidgin/artwork/hicolor/16x16/emblems/pidgin-external.png pidgin/artwork/hicolor/16x16/emblems/pidgin-female.png pidgin/artwork/hicolor/16x16/emblems/pidgin-founder.png pidgin/artwork/hicolor/16x16/emblems/pidgin-free-for-chat.png pidgin/artwork/hicolor/16x16/emblems/pidgin-game.png pidgin/artwork/hicolor/16x16/emblems/pidgin-half-operator.png pidgin/artwork/hicolor/16x16/emblems/pidgin-male.png pidgin/artwork/hicolor/16x16/emblems/pidgin-music.png pidgin/artwork/hicolor/16x16/emblems/pidgin-not-authorized.png pidgin/artwork/hicolor/16x16/emblems/pidgin-operator.png pidgin/artwork/hicolor/16x16/emblems/pidgin-qq-member.png pidgin/artwork/hicolor/16x16/emblems/pidgin-secure.png pidgin/artwork/hicolor/16x16/emblems/pidgin-unavailable.png pidgin/artwork/hicolor/16x16/emblems/pidgin-video.png pidgin/artwork/hicolor/16x16/emblems/pidgin-voice.png pidgin/artwork/hicolor/16x16/status/pidgin-available.png pidgin/artwork/hicolor/16x16/status/pidgin-away.png pidgin/artwork/hicolor/16x16/status/pidgin-busy.png pidgin/artwork/hicolor/16x16/status/pidgin-chatroom.png pidgin/artwork/hicolor/16x16/status/pidgin-contact.png pidgin/artwork/hicolor/16x16/status/pidgin-dialog-auth.png pidgin/artwork/hicolor/16x16/status/pidgin-dialog-error.png pidgin/artwork/hicolor/16x16/status/pidgin-dialog-info.png pidgin/artwork/hicolor/16x16/status/pidgin-dialog-mail.png pidgin/artwork/hicolor/16x16/status/pidgin-dialog-question.png pidgin/artwork/hicolor/16x16/status/pidgin-extended-away.png pidgin/artwork/hicolor/16x16/status/pidgin-invisible.png pidgin/artwork/hicolor/16x16/status/pidgin-offline.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-available.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-away.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-busy.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-extended-away.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-invisible.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-message-pending.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-new-im.png pidgin/artwork/hicolor/16x16/status/pidgin-tray-offline.png pidgin/artwork/hicolor/22x22/apps/pidgin.png pidgin/artwork/hicolor/22x22/status/pidgin-available.png pidgin/artwork/hicolor/22x22/status/pidgin-away.png pidgin/artwork/hicolor/22x22/status/pidgin-busy.png pidgin/artwork/hicolor/22x22/status/pidgin-chatroom.png pidgin/artwork/hicolor/22x22/status/pidgin-contact.png pidgin/artwork/hicolor/22x22/status/pidgin-extended-away.png pidgin/artwork/hicolor/22x22/status/pidgin-invisible.png pidgin/artwork/hicolor/22x22/status/pidgin-offline.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-available.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-away.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-busy.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-extended-away.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-invisible.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-message-pending.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-new-im.png pidgin/artwork/hicolor/22x22/status/pidgin-tray-offline.png pidgin/artwork/hicolor/24x24/apps/pidgin-aim.png pidgin/artwork/hicolor/24x24/apps/pidgin-bonjour.png pidgin/artwork/hicolor/24x24/apps/pidgin-facebook.png pidgin/artwork/hicolor/24x24/apps/pidgin-gadu-gadu.png pidgin/artwork/hicolor/24x24/apps/pidgin-google-talk.png pidgin/artwork/hicolor/24x24/apps/pidgin-icq.png pidgin/artwork/hicolor/24x24/apps/pidgin-irc.png pidgin/artwork/hicolor/24x24/apps/pidgin-jabber.png pidgin/artwork/hicolor/24x24/apps/pidgin-meanwhile.png pidgin/artwork/hicolor/24x24/apps/pidgin-msn.png pidgin/artwork/hicolor/24x24/apps/pidgin-myspace.png pidgin/artwork/hicolor/24x24/apps/pidgin-novell.png pidgin/artwork/hicolor/24x24/apps/pidgin-qq.png pidgin/artwork/hicolor/24x24/apps/pidgin-silc.png pidgin/artwork/hicolor/24x24/apps/pidgin-simple.png pidgin/artwork/hicolor/24x24/apps/pidgin-yahoo.png pidgin/artwork/hicolor/24x24/apps/pidgin-zephyr.png pidgin/artwork/hicolor/24x24/apps/pidgin.png pidgin/artwork/hicolor/24x24/emotes/Makefile.am pidgin/artwork/hicolor/24x24/emotes/Makefile.mingw pidgin/artwork/hicolor/24x24/emotes/default.theme.in pidgin/artwork/hicolor/24x24/emotes/none/Makefile.am pidgin/artwork/hicolor/24x24/emotes/none/Makefile.mingw pidgin/artwork/hicolor/24x24/emotes/none/none.theme.in pidgin/artwork/hicolor/24x24/emotes/none/theme pidgin/artwork/hicolor/24x24/emotes/pidgin-act-up.png pidgin/artwork/hicolor/24x24/emotes/pidgin-airplane.png pidgin/artwork/hicolor/24x24/emotes/pidgin-alien.png pidgin/artwork/hicolor/24x24/emotes/pidgin-angel.png pidgin/artwork/hicolor/24x24/emotes/pidgin-angry.png pidgin/artwork/hicolor/24x24/emotes/pidgin-arrogant.png pidgin/artwork/hicolor/24x24/emotes/pidgin-at-wits-end.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bad.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bashful.png pidgin/artwork/hicolor/24x24/emotes/pidgin-beat-up.png pidgin/artwork/hicolor/24x24/emotes/pidgin-beauty.png pidgin/artwork/hicolor/24x24/emotes/pidgin-beer.png pidgin/artwork/hicolor/24x24/emotes/pidgin-blowkiss.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bomb.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bowl.png pidgin/artwork/hicolor/24x24/emotes/pidgin-boy.png pidgin/artwork/hicolor/24x24/emotes/pidgin-brb.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bulgy-eyes.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bunny.png pidgin/artwork/hicolor/24x24/emotes/pidgin-bye.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cake.png pidgin/artwork/hicolor/24x24/emotes/pidgin-call-me.png pidgin/artwork/hicolor/24x24/emotes/pidgin-camera.png pidgin/artwork/hicolor/24x24/emotes/pidgin-can.png pidgin/artwork/hicolor/24x24/emotes/pidgin-car.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cat.png pidgin/artwork/hicolor/24x24/emotes/pidgin-chicken.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cigarette.png pidgin/artwork/hicolor/24x24/emotes/pidgin-clap.png pidgin/artwork/hicolor/24x24/emotes/pidgin-clock.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cloudy.png pidgin/artwork/hicolor/24x24/emotes/pidgin-clover.png pidgin/artwork/hicolor/24x24/emotes/pidgin-clown.png pidgin/artwork/hicolor/24x24/emotes/pidgin-coffee.png pidgin/artwork/hicolor/24x24/emotes/pidgin-coins.png pidgin/artwork/hicolor/24x24/emotes/pidgin-computer.png pidgin/artwork/hicolor/24x24/emotes/pidgin-confused.png pidgin/artwork/hicolor/24x24/emotes/pidgin-console.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cow.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cowboy.png pidgin/artwork/hicolor/24x24/emotes/pidgin-crying.png pidgin/artwork/hicolor/24x24/emotes/pidgin-curl-lip.png pidgin/artwork/hicolor/24x24/emotes/pidgin-curse.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cute.png pidgin/artwork/hicolor/24x24/emotes/pidgin-cyclops.png pidgin/artwork/hicolor/24x24/emotes/pidgin-dance.png pidgin/artwork/hicolor/24x24/emotes/pidgin-dazed.png pidgin/artwork/hicolor/24x24/emotes/pidgin-desire.png pidgin/artwork/hicolor/24x24/emotes/pidgin-devil.png pidgin/artwork/hicolor/24x24/emotes/pidgin-disappointed.png pidgin/artwork/hicolor/24x24/emotes/pidgin-disdain.png pidgin/artwork/hicolor/24x24/emotes/pidgin-doctor.png pidgin/artwork/hicolor/24x24/emotes/pidgin-dog.png pidgin/artwork/hicolor/24x24/emotes/pidgin-doh.png pidgin/artwork/hicolor/24x24/emotes/pidgin-dont-know.png pidgin/artwork/hicolor/24x24/emotes/pidgin-drink.png pidgin/artwork/hicolor/24x24/emotes/pidgin-drool.png pidgin/artwork/hicolor/24x24/emotes/pidgin-eat.png pidgin/artwork/hicolor/24x24/emotes/pidgin-embarrassed.png pidgin/artwork/hicolor/24x24/emotes/pidgin-excruciating.png pidgin/artwork/hicolor/24x24/emotes/pidgin-eyeroll.png pidgin/artwork/hicolor/24x24/emotes/pidgin-female-fighter.png pidgin/artwork/hicolor/24x24/emotes/pidgin-film.png pidgin/artwork/hicolor/24x24/emotes/pidgin-fingers-crossed.png pidgin/artwork/hicolor/24x24/emotes/pidgin-flag.png pidgin/artwork/hicolor/24x24/emotes/pidgin-foot-in-mouth.png pidgin/artwork/hicolor/24x24/emotes/pidgin-freaked-out.png pidgin/artwork/hicolor/24x24/emotes/pidgin-ghost.png pidgin/artwork/hicolor/24x24/emotes/pidgin-giggle.png pidgin/artwork/hicolor/24x24/emotes/pidgin-girl.png pidgin/artwork/hicolor/24x24/emotes/pidgin-glasses-cool.png pidgin/artwork/hicolor/24x24/emotes/pidgin-glasses-nerdy.png pidgin/artwork/hicolor/24x24/emotes/pidgin-go-away.png pidgin/artwork/hicolor/24x24/emotes/pidgin-goat.png pidgin/artwork/hicolor/24x24/emotes/pidgin-good.png pidgin/artwork/hicolor/24x24/emotes/pidgin-hammer.png pidgin/artwork/hicolor/24x24/emotes/pidgin-handcuffs.png pidgin/artwork/hicolor/24x24/emotes/pidgin-handshake.png pidgin/artwork/hicolor/24x24/emotes/pidgin-highfive.png pidgin/artwork/hicolor/24x24/emotes/pidgin-hug-left.png pidgin/artwork/hicolor/24x24/emotes/pidgin-hug-right.png pidgin/artwork/hicolor/24x24/emotes/pidgin-hypnotized.png pidgin/artwork/hicolor/24x24/emotes/pidgin-in-love.png pidgin/artwork/hicolor/24x24/emotes/pidgin-island.png pidgin/artwork/hicolor/24x24/emotes/pidgin-jump.png pidgin/artwork/hicolor/24x24/emotes/pidgin-kiss.png pidgin/artwork/hicolor/24x24/emotes/pidgin-kissed.png pidgin/artwork/hicolor/24x24/emotes/pidgin-kissing.png pidgin/artwork/hicolor/24x24/emotes/pidgin-knife.png pidgin/artwork/hicolor/24x24/emotes/pidgin-lamp.png pidgin/artwork/hicolor/24x24/emotes/pidgin-lashes.png pidgin/artwork/hicolor/24x24/emotes/pidgin-laugh.png pidgin/artwork/hicolor/24x24/emotes/pidgin-liquor.png pidgin/artwork/hicolor/24x24/emotes/pidgin-loser.png pidgin/artwork/hicolor/24x24/emotes/pidgin-love-over.png pidgin/artwork/hicolor/24x24/emotes/pidgin-love.png pidgin/artwork/hicolor/24x24/emotes/pidgin-lying.png pidgin/artwork/hicolor/24x24/emotes/pidgin-mad-tongue.png pidgin/artwork/hicolor/24x24/emotes/pidgin-mail.png pidgin/artwork/hicolor/24x24/emotes/pidgin-male-fighter1.png pidgin/artwork/hicolor/24x24/emotes/pidgin-male-fighter2.png pidgin/artwork/hicolor/24x24/emotes/pidgin-mean.png pidgin/artwork/hicolor/24x24/emotes/pidgin-meeting.png pidgin/artwork/hicolor/24x24/emotes/pidgin-messed.png pidgin/artwork/hicolor/24x24/emotes/pidgin-mobile.png pidgin/artwork/hicolor/24x24/emotes/pidgin-mohawk.png pidgin/artwork/hicolor/24x24/emotes/pidgin-moneymouth.png pidgin/artwork/hicolor/24x24/emotes/pidgin-monkey.png pidgin/artwork/hicolor/24x24/emotes/pidgin-moon.png pidgin/artwork/hicolor/24x24/emotes/pidgin-msn-away.png pidgin/artwork/hicolor/24x24/emotes/pidgin-msn-busy.png pidgin/artwork/hicolor/24x24/emotes/pidgin-msn.png pidgin/artwork/hicolor/24x24/emotes/pidgin-msn_online.png pidgin/artwork/hicolor/24x24/emotes/pidgin-music.png pidgin/artwork/hicolor/24x24/emotes/pidgin-musical-note.png pidgin/artwork/hicolor/24x24/emotes/pidgin-nailbiting.png pidgin/artwork/hicolor/24x24/emotes/pidgin-neutral.png pidgin/artwork/hicolor/24x24/emotes/pidgin-on-the-phone.png pidgin/artwork/hicolor/24x24/emotes/pidgin-party.png pidgin/artwork/hicolor/24x24/emotes/pidgin-peace.png pidgin/artwork/hicolor/24x24/emotes/pidgin-phone.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pig.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pill.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pirate.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pissed-off.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pizza.png pidgin/artwork/hicolor/24x24/emotes/pidgin-plate.png pidgin/artwork/hicolor/24x24/emotes/pidgin-poop.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pray.png pidgin/artwork/hicolor/24x24/emotes/pidgin-present.png pidgin/artwork/hicolor/24x24/emotes/pidgin-pumpkin.png pidgin/artwork/hicolor/24x24/emotes/pidgin-qq.png pidgin/artwork/hicolor/24x24/emotes/pidgin-question.png pidgin/artwork/hicolor/24x24/emotes/pidgin-quiet.png pidgin/artwork/hicolor/24x24/emotes/pidgin-rain.png pidgin/artwork/hicolor/24x24/emotes/pidgin-rainbow.png pidgin/artwork/hicolor/24x24/emotes/pidgin-rose-dead.png pidgin/artwork/hicolor/24x24/emotes/pidgin-rose.png pidgin/artwork/hicolor/24x24/emotes/pidgin-rotfl.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sad.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sarcastic.png pidgin/artwork/hicolor/24x24/emotes/pidgin-search.png pidgin/artwork/hicolor/24x24/emotes/pidgin-secret.png pidgin/artwork/hicolor/24x24/emotes/pidgin-shame.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sheep.png pidgin/artwork/hicolor/24x24/emotes/pidgin-shock.png pidgin/artwork/hicolor/24x24/emotes/pidgin-shout.png pidgin/artwork/hicolor/24x24/emotes/pidgin-shut-mouth.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sick.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sidefrown.png pidgin/artwork/hicolor/24x24/emotes/pidgin-silly.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sinister.png pidgin/artwork/hicolor/24x24/emotes/pidgin-skeleton.png pidgin/artwork/hicolor/24x24/emotes/pidgin-skywalker.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sleepy.png pidgin/artwork/hicolor/24x24/emotes/pidgin-smile-big.png pidgin/artwork/hicolor/24x24/emotes/pidgin-smile.png pidgin/artwork/hicolor/24x24/emotes/pidgin-smirk.png pidgin/artwork/hicolor/24x24/emotes/pidgin-snail.png pidgin/artwork/hicolor/24x24/emotes/pidgin-snicker.png pidgin/artwork/hicolor/24x24/emotes/pidgin-snowman.png pidgin/artwork/hicolor/24x24/emotes/pidgin-soccerball.png pidgin/artwork/hicolor/24x24/emotes/pidgin-soldier.png pidgin/artwork/hicolor/24x24/emotes/pidgin-star.png pidgin/artwork/hicolor/24x24/emotes/pidgin-starving.png pidgin/artwork/hicolor/24x24/emotes/pidgin-stop.png pidgin/artwork/hicolor/24x24/emotes/pidgin-struggle.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sun.png pidgin/artwork/hicolor/24x24/emotes/pidgin-sweat.png pidgin/artwork/hicolor/24x24/emotes/pidgin-talktohand.png pidgin/artwork/hicolor/24x24/emotes/pidgin-teeth.png pidgin/artwork/hicolor/24x24/emotes/pidgin-terror.png pidgin/artwork/hicolor/24x24/emotes/pidgin-thinking.png pidgin/artwork/hicolor/24x24/emotes/pidgin-thunder.png pidgin/artwork/hicolor/24x24/emotes/pidgin-time-out.png pidgin/artwork/hicolor/24x24/emotes/pidgin-tongue.png pidgin/artwork/hicolor/24x24/emotes/pidgin-tremble.png pidgin/artwork/hicolor/24x24/emotes/pidgin-turtle.png pidgin/artwork/hicolor/24x24/emotes/pidgin-tv.png pidgin/artwork/hicolor/24x24/emotes/pidgin-umbrella.png pidgin/artwork/hicolor/24x24/emotes/pidgin-vampire.png pidgin/artwork/hicolor/24x24/emotes/pidgin-victory.png pidgin/artwork/hicolor/24x24/emotes/pidgin-waiting.png pidgin/artwork/hicolor/24x24/emotes/pidgin-watermelon.png pidgin/artwork/hicolor/24x24/emotes/pidgin-waving.png pidgin/artwork/hicolor/24x24/emotes/pidgin-weep.png pidgin/artwork/hicolor/24x24/emotes/pidgin-wilt.png pidgin/artwork/hicolor/24x24/emotes/pidgin-wink.png pidgin/artwork/hicolor/24x24/emotes/pidgin-worship.png pidgin/artwork/hicolor/24x24/emotes/pidgin-yawn.png pidgin/artwork/hicolor/24x24/emotes/pidgin-yin-yang.png pidgin/artwork/hicolor/24x24/emotes/theme pidgin/artwork/hicolor/24x24/status/pidgin-available.png pidgin/artwork/hicolor/24x24/status/pidgin-away.png pidgin/artwork/hicolor/24x24/status/pidgin-busy.png pidgin/artwork/hicolor/24x24/status/pidgin-chatroom.png pidgin/artwork/hicolor/24x24/status/pidgin-contact.png pidgin/artwork/hicolor/24x24/status/pidgin-extended-away.png pidgin/artwork/hicolor/24x24/status/pidgin-invisible.png pidgin/artwork/hicolor/24x24/status/pidgin-offline.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-available.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-away.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-busy.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-extended-away.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-invisible.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-message-pending.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-new-im.png pidgin/artwork/hicolor/24x24/status/pidgin-tray-offline.png pidgin/artwork/hicolor/32x32/actions/pidgin-select-avatar.png pidgin/artwork/hicolor/32x32/apps/pidgin.png pidgin/artwork/hicolor/32x32/status/pidgin-available.png pidgin/artwork/hicolor/32x32/status/pidgin-away.png pidgin/artwork/hicolor/32x32/status/pidgin-busy.png pidgin/artwork/hicolor/32x32/status/pidgin-extended-away.png pidgin/artwork/hicolor/32x32/status/pidgin-invisible.png pidgin/artwork/hicolor/32x32/status/pidgin-offline.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-available.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-away.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-busy.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-extended-away.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-invisible.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-message-pending.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-new-im.png pidgin/artwork/hicolor/32x32/status/pidgin-tray-offline.png pidgin/artwork/hicolor/48x48/apps/pidgin-aim.png pidgin/artwork/hicolor/48x48/apps/pidgin-bonjour.png pidgin/artwork/hicolor/48x48/apps/pidgin-facebook.png pidgin/artwork/hicolor/48x48/apps/pidgin-gadu-gadu.png pidgin/artwork/hicolor/48x48/apps/pidgin-icq.png pidgin/artwork/hicolor/48x48/apps/pidgin-irc.png pidgin/artwork/hicolor/48x48/apps/pidgin-jabber.png pidgin/artwork/hicolor/48x48/apps/pidgin-meanwhile.png pidgin/artwork/hicolor/48x48/apps/pidgin-msn.png pidgin/artwork/hicolor/48x48/apps/pidgin-myspace.png pidgin/artwork/hicolor/48x48/apps/pidgin-novell.png pidgin/artwork/hicolor/48x48/apps/pidgin-qq.png pidgin/artwork/hicolor/48x48/apps/pidgin-silc.png pidgin/artwork/hicolor/48x48/apps/pidgin-simple.png pidgin/artwork/hicolor/48x48/apps/pidgin-yahoo.png pidgin/artwork/hicolor/48x48/apps/pidgin-zephyr.png pidgin/artwork/hicolor/48x48/apps/pidgin.png pidgin/artwork/hicolor/48x48/status/pidgin-available.png pidgin/artwork/hicolor/48x48/status/pidgin-away.png pidgin/artwork/hicolor/48x48/status/pidgin-busy.png pidgin/artwork/hicolor/48x48/status/pidgin-dialog-auth.png pidgin/artwork/hicolor/48x48/status/pidgin-dialog-cool.png pidgin/artwork/hicolor/48x48/status/pidgin-dialog-dialog.png pidgin/artwork/hicolor/48x48/status/pidgin-dialog-error.png pidgin/artwork/hicolor/48x48/status/pidgin-dialog-info.png pidgin/artwork/hicolor/48x48/status/pidgin-dialog-mail.png pidgin/artwork/hicolor/48x48/status/pidgin-extended-away.png pidgin/artwork/hicolor/48x48/status/pidgin-invisible.png pidgin/artwork/hicolor/48x48/status/pidgin-offline.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-available.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-away.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-busy.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-extended-away.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-invisible.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-message-pending.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-new-im.png pidgin/artwork/hicolor/48x48/status/pidgin-tray-offline.png pidgin/artwork/hicolor/48x48/status/question.png pidgin/artwork/hicolor/48x48/status/warning.png pidgin/artwork/hicolor/scalable/apps/pidgin.svg pidgin/artwork/hicolor/scalable/status/pidgin-auth.svg pidgin/artwork/hicolor/scalable/status/pidgin-cool.svg pidgin/artwork/hicolor/scalable/status/pidgin-dialog.svg pidgin/artwork/hicolor/scalable/status/pidgin-error.svg pidgin/artwork/hicolor/scalable/status/pidgin-info.svg pidgin/artwork/hicolor/scalable/status/pidgin-mail.svg pidgin/artwork/hicolor/scalable/status/pidgin-question.svg pidgin/artwork/hicolor/scalable/status/pidgin-warning.svg pidgin/artwork/pixmaps/logo.png pidgin/artwork/pixmaps/pidgin.ico |
diffstat | 32 files changed, 1293 insertions(+), 236 deletions(-) [+] |
line wrap: on
line diff
--- a/.mtn-ignore Thu Sep 11 20:25:47 2008 +0000 +++ b/.mtn-ignore Thu Sep 11 20:26:21 2008 +0000 @@ -58,6 +58,7 @@ libpurple/purple-client-bindings.h libpurple/purple-client-example libpurple/tests/check_libpurple +libpurple/tests/libpurple.. libpurple/version.h$ libpurple/win32/libpurplerc.rc$ libtool
--- a/AUTHORS Thu Sep 11 20:25:47 2008 +0000 +++ b/AUTHORS Thu Sep 11 20:26:21 2008 +0000 @@ -36,6 +36,7 @@ Crazy Patch Writers: ------------------- Felipe 'shx' Contreras +Marcus 'malu' Lundblad Dennis 'EvilDennisR' Ristuccia Peter 'Fmoo' Ruibal Gabriel 'Nix' Schulhof
--- a/configure.ac Thu Sep 11 20:25:47 2008 +0000 +++ b/configure.ac Thu Sep 11 20:26:21 2008 +0000 @@ -1240,20 +1240,24 @@ AC_SUBST(DBUS_LIBS) enable_dbus=yes ], [ + enable_dbus=no if test "x$force_deps" = "xyes" ; then AC_MSG_ERROR([ D-Bus development headers not found. Use --disable-dbus if you do not need D-Bus support. ]) fi]) +fi dnl Check for NetworkManager.h; if we don't have it, oh well +if test "x$enable_dbus" = "xyes" ; then if test "x$enable_nm" = "xyes" ; then - PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager], [ + PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [ AC_SUBST(NETWORKMANAGER_CFLAGS) AC_SUBST(NETWORKMANAGER_LIBS) AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.]) ], [ + enable_nm=no if test "x$force_deps" = "xyes" ; then AC_MSG_ERROR([ NetworkManager development headers not found.
--- a/doc/funniest_home_convos.txt Thu Sep 11 20:25:47 2008 +0000 +++ b/doc/funniest_home_convos.txt Thu Sep 11 20:26:21 2008 +0000 @@ -398,6 +398,8 @@ (17:49:25) elb: awesome, thanks (17:49:28) elb: Kanon in D +-- + edited for brevity, and name changed. (13:51:31) l33t_h4x0r: Is there such thing as a gaim ip sniffer for linux? (13:51:40) LSchiere: no @@ -417,6 +419,8 @@ (13:58:58) LSchiere: *amused* that's the first time in a while that the requester has *agreed* that there is no legit reason to want the feature (13:59:19) Err: he was not the sharpest knife in the drawer +-- + 14:57 <itchypants> [blah blah blah simple question] [other traffic] 14:57 <itchypants> [retransmit simple question] @@ -424,6 +428,8 @@ 14:59 <itchypants> seanegan, ah okay thanks 15:00 <seanegan> no problem +-- + (15:57:11) sadrul: the files (at least a couple) in the tar.bz2 are different (15:57:23) datallah: right.. that is the problem - the code in svn is fine (15:57:31) seanegan: oh, what the hell? @@ -440,6 +446,8 @@ (15:59:06) SimGuy: seanegan: by experience, I think we've determined you do not :) +-- + (07:52:07 PM) clueless21: are you one of the gaim makers? (07:52:14 PM) Nathan Walp: yes (07:52:24 PM) clueless21: cool @@ -452,6 +460,8 @@ (07:54:25 PM) Nathan Walp: it lets you chat with other people, like we are chatting now (07:54:45 PM) clueless21: oooooooooo... thanks +-- + 23:58 -!- seanegan is now known as beta7 23:58 <beta7> Hey, guys, remember me? 23:59 <beta7> We were all supposed to be working on getting me out. @@ -461,6 +471,8 @@ 23:59 -!- mode/#pidgin [-o elb] by ChanServ 23:59 <marv> elb: good job getting beta7 out +-- + 14:07 <elb> rizzo: I actually prefer elb, and used it for a long time -- but switched to Paco-Paco because people kept asking me what an 'elb' was @@ -472,8 +484,12 @@ 14:08 <elb> I mean, what do you say 14:08 <Robot101> elb: was their nick "idi"? +-- + 19:23 <-- elb has quit (K-lined) +-- + 19:01 <user> whoa 19:01 <user> okay 19:01 <user> now when i try to go into the left over files after the @@ -506,16 +522,19 @@ 17:16 <sadrul> I think blocking in pidgin not working is not your biggest problem here. +-- 12:58 <staggered_ranks> why hasn't support for napster been removed? 12:58 <deryni> It has. 12:59 <staggered_ranks> oh.. ok +-- 14:39 <rrobbertt> Does anyone know a way to get text to speech with pidgin? 14:41 <elb> do you want to be rooted sooner, or later? 14:42 <seanegan> good question"; rm -rf ~ +-- (11:55:03) *** elb cuts seanegn for taunting the masses with adium message styles and then dropping it @@ -523,3 +542,17 @@ (11:56:04) *** elb waits to see if this is an additive, fibbonaci, or exponential cutting (11:56:16) *** seanegn hopes for additive. + +-- + +/* explaining the behavior of g_list_delete_link */ +(13:15:04) elb: if the item is not part of the list, it will be + removed from whatever list it *was* in +(13:15:20) elb: and if it was the head of that list, and the caller is + holding onto the head someplace, Bad Things happen +(13:15:55) elb: don't do that +(13:15:57) elb: is my advice on the matter +/* more than 3 hours later */ +(16:58:10) elb: I just spent literally a couple of HOURS trying to + debug a problem where I was using g_list_delete_link with a + list item which wasn't in the list
--- a/doc/pidgin.1.in Thu Sep 11 20:25:47 2008 +0000 +++ b/doc/pidgin.1.in Thu Sep 11 20:26:21 2008 +0000 @@ -643,6 +643,8 @@ .br Felipe 'shx' Contreras .br + Marcus 'malu' Lundblad +.br Dennis 'EvilDennisR' Ristuccia .br Peter 'fmoo' Ruibal
--- a/finch/gntaccount.c Thu Sep 11 20:25:47 2008 +0000 +++ b/finch/gntaccount.c Thu Sep 11 20:26:21 2008 +0000 @@ -503,7 +503,7 @@ list = purple_plugins_get_protocols(); if (list == NULL) { purple_notify_error(NULL, _("Error"), - _("There's no protocol plugins installed."), + _("There are no protocol plugins installed."), _("(You probably forgot to 'make install'.)")); return; }
--- a/finch/gntpounce.c Thu Sep 11 20:25:47 2008 +0000 +++ b/finch/gntpounce.c Thu Sep 11 20:26:21 2008 +0000 @@ -979,15 +979,10 @@ PURPLE_CALLBACK(signed_on_off_cb), NULL); } -static void -dummy_pounce_cb(PurplePounce *pounce, PurplePounceEvent events, void *data) -{ -} - /* XXX: There's no such thing in pidgin. Perhaps there should be? */ void finch_pounces_uninit() { - purple_pounces_register_handler(FINCH_UI, dummy_pounce_cb, NULL, NULL); + purple_pounces_unregister_handler(FINCH_UI); purple_signals_disconnect_by_handle(finch_pounces_get_handle()); }
--- a/finch/libgnt/wms/Makefile.am Thu Sep 11 20:25:47 2008 +0000 +++ b/finch/libgnt/wms/Makefile.am Thu Sep 11 20:26:21 2008 +0000 @@ -1,6 +1,7 @@ +wms = irssi.la if PURPLE_AVAILABLE # These custom wms depend on libpurple -purple_wms = s.la irssi.la +purple_wms = s.la else purple_wms = endif @@ -9,6 +10,7 @@ irssi_la_LDFLAGS = -module -avoid-version plugin_LTLIBRARIES = \ + $(wms) \ $(purple_wms) plugindir = $(libdir)/gnt @@ -16,12 +18,12 @@ irssi_la_SOURCES = irssi.c irssi_la_LIBADD = \ $(GLIB_LIBS) \ - $(top_builddir)/finch/libgnt/libgnt.la + ../libgnt.la s_la_SOURCES = s.c s_la_LIBADD = \ $(GLIB_LIBS) \ - $(top_builddir)/finch/libgnt/libgnt.la \ + ../libgnt.la \ $(top_builddir)/libpurple/libpurple.la EXTRA_DIST =
--- a/finch/plugins/Makefile.am Thu Sep 11 20:25:47 2008 +0000 +++ b/finch/plugins/Makefile.am Thu Sep 11 20:26:21 2008 +0000 @@ -52,7 +52,7 @@ # SUFFIXES = .c .so .c.so: - $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_srcdir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) + $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_builddir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(PLUGIN_LIBS) @rm -f tmp$@.lo tmp$@.o libtmp$@.la @cp .libs/libtmp$@.so* $@
--- a/libpurple/buddyicon.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/buddyicon.c Thu Sep 11 20:26:21 2008 +0000 @@ -934,8 +934,8 @@ purple_buddy_icons_node_set_custom_icon_from_file(PurpleBlistNode *node, const gchar *filename) { - size_t len; - guchar *data; + size_t len = 0; + guchar *data = NULL; g_return_val_if_fail(node != NULL, NULL); @@ -945,8 +945,10 @@ return NULL; } - if (!read_icon_file(filename, &data, &len)) { - return NULL; + if (filename != NULL) { + if (!read_icon_file(filename, &data, &len)) { + return NULL; + } } return purple_buddy_icons_node_set_custom_icon(node, data, len);
--- a/libpurple/buddyicon.h Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/buddyicon.h Thu Sep 11 20:26:21 2008 +0000 @@ -308,7 +308,7 @@ * * @param node The blist node for which to set a custom icon. * @param icon_data The image data of the icon, which the buddy icon code will - * free. + * free. Use NULL to unset the icon. * @param icon_len The length of the data in @a icon_data. * * @return The icon that was set. The caller does NOT own a reference to this, @@ -326,7 +326,8 @@ * @see purple_buddy_icons_node_set_custom_icon() * * @param node The blist node for which to set a custom icon. - * @param filename The path to the icon to set for the blist node. + * @param filename The path to the icon to set for the blist node. Use NULL + * to unset the custom icon. * * @return The icon that was set. The caller does NOT own a reference to this, * and must call purple_imgstore_ref() if it wants one.
--- a/libpurple/plugins/Makefile.am Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/plugins/Makefile.am Thu Sep 11 20:26:21 2008 +0000 @@ -150,7 +150,7 @@ # SUFFIXES = .c .so .c.so: - $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_srcdir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) + $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_builddir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(PLUGIN_LIBS) @rm -f tmp$@.lo tmp$@.o libtmp$@.la @cp .libs/libtmp$@.so* $@
--- a/libpurple/plugins/autoaccept.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/plugins/autoaccept.c Thu Sep 11 20:26:21 2008 +0000 @@ -117,6 +117,9 @@ { int count = 1; const char *escape; + gchar **name_and_ext; + const gchar *name; + gchar *ext; if (purple_prefs_get_bool(PREF_NEWDIR)) dirname = g_build_filename(pref, purple_normalize(account, xfer->who), NULL); @@ -132,9 +135,24 @@ escape = purple_escape_filename(xfer->filename); filename = g_build_filename(dirname, escape, NULL); + /* Split at the first dot, to avoid uniquifying "foo.tar.gz" to "foo.tar-2.gz" */ + name_and_ext = g_strsplit(escape, ".", 2); + name = name_and_ext[0]; + g_return_if_fail(name != NULL); + if (name_and_ext[1] != NULL) { + /* g_strsplit does not include the separator in each chunk. */ + ext = g_strdup_printf(".%s", name_and_ext[1]); + } else { + ext = g_strdup(""); + } + /* Make sure the file doesn't exist. Do we want some better checking than this? */ + /* FIXME: There is a race here: if the newly uniquified file name gets created between + * this g_file_test and the transfer starting, the file created in the meantime + * will be clobbered. But it's not at all straightforward to fix. + */ while (g_file_test(filename, G_FILE_TEST_EXISTS)) { - char *file = g_strdup_printf("%s-%d", escape, count++); + char *file = g_strdup_printf("%s-%d%s", name, count++, ext); g_free(filename); filename = g_build_filename(dirname, file, NULL); g_free(file); @@ -142,6 +160,8 @@ purple_xfer_request_accepted(xfer, filename); + g_strfreev(name_and_ext); + g_free(ext); g_free(dirname); g_free(filename); }
--- a/libpurple/plugins/perl/perl.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/plugins/perl/perl.c Thu Sep 11 20:26:21 2008 +0000 @@ -466,6 +466,7 @@ load_perl_plugin(PurplePlugin *plugin) { PurplePerlScript *gps = (PurplePerlScript *)plugin->info->extra_info; + gboolean loaded = TRUE; char *atmp[3] = { plugin->path, NULL, NULL }; if (gps == NULL || gps->load_sub == NULL) @@ -501,6 +502,7 @@ purple_debug(PURPLE_DEBUG_ERROR, "perl", "Perl function %s exited abnormally: %s\n", gps->load_sub, SvPVutf8_nolen(ERRSV)); + loaded = FALSE; } PUTBACK; @@ -508,7 +510,7 @@ LEAVE; } - return TRUE; + return loaded; } static void
--- a/libpurple/plugins/ssl/ssl-nss.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/plugins/ssl/ssl-nss.c Thu Sep 11 20:26:21 2008 +0000 @@ -285,7 +285,8 @@ } for (count = 0 ; count < CERT_MAX_CERT_CHAIN ; count++) { - purple_debug_info("nss", "subject=%s issuer=%s\n", curcert->subjectName, curcert->issuerName); + purple_debug_info("nss", "subject=%s issuer=%s\n", curcert->subjectName, + curcert->issuerName ? curcert->issuerName : "(null)"); newcrt = x509_import_from_nss(curcert); peer_certs = g_list_append(peer_certs, newcrt); @@ -676,7 +677,8 @@ subjectCert = X509_NSS_DATA(crt); g_return_val_if_fail(subjectCert, FALSE); - if ( PORT_Strcmp(subjectCert->issuerName, issuerCert->subjectName) != 0 ) + if (subjectCert->issuerName == NULL + || PORT_Strcmp(subjectCert->issuerName, issuerCert->subjectName) != 0) return FALSE; st = CERT_VerifySignedData(&subjectCert->signatureWrap, issuerCert, PR_Now(), NULL); return st == SECSuccess;
--- a/libpurple/protocols/msn/msn.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/protocols/msn/msn.c Thu Sep 11 20:26:21 2008 +0000 @@ -769,6 +769,9 @@ { const char *phone; + purple_notify_user_info_add_pair(user_info, _("Has you"), + ((user->list_op & (1 << MSN_LIST_RL)) ? _("Yes") : _("No"))); + purple_notify_user_info_add_pair(user_info, _("Blocked"), ((user->list_op & (1 << MSN_LIST_BL)) ? _("Yes") : _("No")));
--- a/libpurple/protocols/oscar/libicq.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/protocols/oscar/libicq.c Thu Sep 11 20:26:21 2008 +0000 @@ -27,6 +27,15 @@ #include "oscarcommon.h" +static GHashTable * +icq_get_account_text_table(PurpleAccount *account) +{ + GHashTable *table; + table = g_hash_table_new(g_str_hash, g_str_equal); + g_hash_table_insert(table, "login_label", (gpointer)_("ICQ UIN...")); + return table; +} + static PurplePluginProtocolInfo prpl_info = { OPT_PROTO_MAIL_CHECK | OPT_PROTO_IM_IMAGE, @@ -97,7 +106,7 @@ NULL, /* get_attention_types */ sizeof(PurplePluginProtocolInfo), /* struct_size */ - NULL + icq_get_account_text_table, /* get_account_text_table */ }; static PurplePluginInfo info =
--- a/libpurple/protocols/yahoo/yahoo.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Thu Sep 11 20:26:21 2008 +0000 @@ -4301,6 +4301,15 @@ return FALSE; } +static GHashTable * +yahoo_get_account_text_table(PurpleAccount *account) +{ + GHashTable *table; + table = g_hash_table_new(g_str_hash, g_str_equal); + g_hash_table_insert(table, "login_label", (gpointer)_("Yahoo ID...")); + return table; +} + static PurpleWhiteboardPrplOps yahoo_whiteboard_prpl_ops = { yahoo_doodle_start, @@ -4389,7 +4398,7 @@ yahoo_attention_types, sizeof(PurplePluginProtocolInfo), /* struct_size */ - NULL + yahoo_get_account_text_table, /* get_account_text_table */ }; static PurplePluginInfo info =
--- a/libpurple/sslconn.h Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/sslconn.h Thu Sep 11 20:26:21 2008 +0000 @@ -67,7 +67,7 @@ int fd; /** Glib event source ID; used to refer to the received data callback * in the glib eventloop */ - int inpa; + guint inpa; /** Data related to the underlying TCP connection */ PurpleProxyConnectData *connect_data;
--- a/libpurple/util.c Thu Sep 11 20:25:47 2008 +0000 +++ b/libpurple/util.c Thu Sep 11 20:26:21 2008 +0000 @@ -3763,9 +3763,7 @@ while((len = read(source, buf, sizeof(buf))) > 0) { if(gfud->max_len != -1 && (gfud->len + len) > gfud->max_len) { - /* TODO: Fix this when not string frozen */ - /*purple_util_fetch_url_error(gfud, _("Error reading from %s: response too long (%d bytes limit)"),*/ - purple_util_fetch_url_error(gfud, "Error reading from %s: response too long (%d bytes limit)", + purple_util_fetch_url_error(gfud, _("Error reading from %s: response too long (%d bytes limit)"), gfud->website.address, gfud->max_len); return; }
--- a/pidgin/gtkconv.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/gtkconv.c Thu Sep 11 20:26:21 2008 +0000 @@ -5253,8 +5253,7 @@ if (conv && PIDGIN_IS_PIDGIN_CONVERSATION(conv) && !hide) { PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); if (gtkconv->win == hidden_convwin) { - pidgin_conv_window_remove_gtkconv(gtkconv->win, gtkconv); - pidgin_conv_placement_place(gtkconv); + pidgin_conv_attach_to_conversation(gtkconv->active_conv); } return; } @@ -7183,6 +7182,14 @@ pidgin_conv_update_buddy_icon(conv); } } + + /* Make the tabs show/hide correctly */ + for (l = pidgin_conv_windows_get_list(); l != NULL; l = l->next) { + PidginWindow *win = l->data; + if (pidgin_conv_window_get_gtkconv_count(win) == 1) + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(win->notebook), + GPOINTER_TO_INT(value) == 0); + } } static void @@ -7231,8 +7238,7 @@ if (!l) break; - pidgin_conv_window_remove_gtkconv(hidden_convwin, gtkconv); - pidgin_conv_placement_place(gtkconv); + pidgin_conv_attach_to_conversation(conv); /* TODO: do we need to do anything for any other conversations that are in the same gtkconv here? * I'm a little concerned that not doing so will cause the "pending" indicator in the gtkblist not to be cleared. -DAA*/ @@ -7272,8 +7278,7 @@ purple_conversation_get_account(conv))))) continue; - pidgin_conv_window_remove_gtkconv(hidden_convwin, gtkconv); - pidgin_conv_placement_place(gtkconv); + pidgin_conv_attach_to_conversation(conv); } }
--- a/pidgin/gtkdialogs.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/gtkdialogs.c Thu Sep 11 20:26:21 2008 +0000 @@ -100,6 +100,7 @@ /* Order: Alphabetical by Last Name */ static const struct developer patch_writers[] = { {"Felipe 'shx' Contreras", NULL, NULL}, + {"Marcus 'malu' Lundblad", NULL, NULL}, {"Dennis 'EvilDennisR' Ristuccia", N_("Senior Contributor/QA"), NULL}, {"Peter 'Fmoo' Ruibal", NULL, NULL}, {"Gabriel 'Nix' Schulhof", NULL, NULL},
--- a/pidgin/gtkimhtmltoolbar.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/gtkimhtmltoolbar.c Thu Sep 11 20:26:21 2008 +0000 @@ -1146,7 +1146,7 @@ toolbar); } - free(toolbar->sml); + g_free(toolbar->sml); gtk_object_sink(GTK_OBJECT(toolbar->tooltips)); menu = g_object_get_data(object, "font_menu");
--- a/pidgin/gtkprefs.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/gtkprefs.c Thu Sep 11 20:26:21 2008 +0000 @@ -1005,6 +1005,12 @@ keyboard_shortcuts(ret); + /* Status selector options */ + vbox = pidgin_make_frame(ret, _("Status Selector")); + pidgin_prefs_checkbox(_("Keep the status message when the status is changed"), + PIDGIN_PREFS_ROOT "/status/keep_status_message", vbox); + + gtk_widget_show_all(ret); g_object_unref(sg); return ret; @@ -1828,6 +1834,25 @@ g_value_unset (&val); } + +static void +mute_changed_cb(const char *pref_name, + PurplePrefType pref_type, + gconstpointer val, + gpointer data) +{ + GtkToggleButton *button = data; + gboolean muted = val; + + g_return_if_fail(!strcmp (pref_name, PIDGIN_PREFS_ROOT "/sound/mute")); + + /* Block the handler that re-sets the preference. */ + g_signal_handlers_block_matched(button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, pref_name); + gtk_toggle_button_set_active (button, muted); + g_signal_handlers_unblock_matched(button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, pref_name); +} + + static GtkWidget * sound_page(void) { @@ -1889,9 +1914,13 @@ #endif /* _WIN32 */ vbox = pidgin_make_frame (ret, _("Sound Options")); + + button = pidgin_prefs_checkbox(_("M_ute sounds"), PIDGIN_PREFS_ROOT "/sound/mute", vbox); + purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/mute", mute_changed_cb, button); + pidgin_prefs_checkbox(_("Sounds when conversation has _focus"), PIDGIN_PREFS_ROOT "/sound/conv_focus", vbox); - pidgin_prefs_dropdown(vbox, _("Enable sounds:"), + pidgin_prefs_dropdown(vbox, _("_Enable sounds:"), PURPLE_PREF_INT, "/purple/sound/while_status", _("Only when available"), 1, _("Only when not available"), 2, @@ -1908,7 +1937,7 @@ g_signal_connect (G_OBJECT (sw), "value-changed", G_CALLBACK (prefs_sound_volume_changed), NULL); - hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Volume:"), NULL, sw, TRUE, NULL); + hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("V_olume:"), NULL, sw, TRUE, NULL); purple_prefs_connect_callback(prefs, PIDGIN_PREFS_ROOT "/sound/method", sound_changed3_cb, hbox);
--- a/pidgin/gtksavedstatuses.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/gtksavedstatuses.c Thu Sep 11 20:26:21 2008 +0000 @@ -1913,6 +1913,7 @@ purple_prefs_add_none(PIDGIN_PREFS_ROOT "/status/dialog"); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/status/dialog/width", 550); purple_prefs_add_int(PIDGIN_PREFS_ROOT "/status/dialog/height", 250); + purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/status/keep_status_message", FALSE); } void
--- a/pidgin/gtkstatusbox.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/gtkstatusbox.c Thu Sep 11 20:26:21 2008 +0000 @@ -2715,7 +2715,8 @@ gtk_widget_show_all(status_box->vbox); status_box->typing = g_timeout_add(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, status_box); gtk_widget_grab_focus(status_box->imhtml); - gtk_imhtml_clear(GTK_IMHTML(status_box->imhtml)); + if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/status/keep_status_message")) + gtk_imhtml_clear(GTK_IMHTML(status_box->imhtml)); } else {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pidginstock-artwork.c Thu Sep 11 20:26:21 2008 +0000 @@ -0,0 +1,508 @@ +/** + * @file pidginstock.c GTK+ Stock resources + * @ingroup pidgin + */ + +/* pidgin + * + * Pidgin is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + * + */ +#include "internal.h" +#include "pidgin.h" + +#include "pidginstock.h" + +static struct StockIcon +{ + const char *name; + const char *dir; + const char *filename; + +} const stock_icons[] = +{ + { PIDGIN_STOCK_ACTION, NULL, GTK_STOCK_EXECUTE }, +#if GTK_CHECK_VERSION(2,6,0) + { PIDGIN_STOCK_ALIAS, NULL, GTK_STOCK_EDIT }, +#else + { PIDGIN_STOCK_ALIAS, "buttons", "edit.png" }, +#endif + { PIDGIN_STOCK_CHAT, NULL, GTK_STOCK_JUMP_TO }, + { PIDGIN_STOCK_CLEAR, NULL, GTK_STOCK_CLEAR }, + { PIDGIN_STOCK_CLOSE_TABS, NULL, GTK_STOCK_CLOSE }, + { PIDGIN_STOCK_DEBUG, NULL, GTK_STOCK_PROPERTIES }, + { PIDGIN_STOCK_DOWNLOAD, NULL, GTK_STOCK_GO_DOWN }, +#if GTK_CHECK_VERSION(2,6,0) + { PIDGIN_STOCK_DISCONNECT, NULL, GTK_STOCK_DISCONNECT }, +#else + { PIDGIN_STOCK_DISCONNECT, "icons", "stock_disconnect_16.png" }, +#endif + { PIDGIN_STOCK_FGCOLOR, "buttons", "change-fgcolor-small.png" }, +#if GTK_CHECK_VERSION(2,6,0) + { PIDGIN_STOCK_EDIT, NULL, GTK_STOCK_EDIT }, +#else + { PIDGIN_STOCK_EDIT, "buttons", "edit.png" }, +#endif + { PIDGIN_STOCK_FILE_CANCELED, NULL, GTK_STOCK_CANCEL }, + { PIDGIN_STOCK_FILE_DONE, NULL, GTK_STOCK_APPLY }, + { PIDGIN_STOCK_IGNORE, NULL, GTK_STOCK_DIALOG_ERROR }, + { PIDGIN_STOCK_INVITE, NULL, GTK_STOCK_JUMP_TO }, + { PIDGIN_STOCK_MODIFY, NULL, GTK_STOCK_PREFERENCES }, +#if GTK_CHECK_VERSION(2,6,0) + { PIDGIN_STOCK_PAUSE, NULL, GTK_STOCK_MEDIA_PAUSE }, +#else + { PIDGIN_STOCK_PAUSE, "buttons", "pause.png" }, +#endif + { PIDGIN_STOCK_POUNCE, NULL, GTK_STOCK_REDO }, + { PIDGIN_STOCK_OPEN_MAIL, NULL, GTK_STOCK_JUMP_TO }, + { PIDGIN_STOCK_SIGN_ON, NULL, GTK_STOCK_EXECUTE }, + { PIDGIN_STOCK_SIGN_OFF, NULL, GTK_STOCK_CLOSE }, + { PIDGIN_STOCK_TYPED, "pidgin", "typed.png" }, + { PIDGIN_STOCK_UPLOAD, NULL, GTK_STOCK_GO_UP }, +#if GTK_CHECK_VERSION(2,8,0) + { PIDGIN_STOCK_INFO, NULL, GTK_STOCK_INFO }, +#else + { PIDGIN_STOCK_INFO, "buttons", "info.png" }, +#endif +}; + +static const GtkStockItem stock_items[] = +{ + { PIDGIN_STOCK_ALIAS, N_("_Alias"), 0, 0, NULL }, + { PIDGIN_STOCK_CHAT, N_("_Join"), 0, 0, NULL }, + { PIDGIN_STOCK_CLOSE_TABS, N_("Close _tabs"), 0, 0, NULL }, + { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, N_("I_M"), 0, 0, NULL }, + { PIDGIN_STOCK_TOOLBAR_USER_INFO, N_("_Get Info"), 0, 0, NULL }, + { PIDGIN_STOCK_INVITE, N_("_Invite"), 0, 0, NULL }, + { PIDGIN_STOCK_MODIFY, N_("_Modify"), 0, 0, NULL }, + { PIDGIN_STOCK_OPEN_MAIL, N_("_Open Mail"), 0, 0, NULL }, + { PIDGIN_STOCK_PAUSE, N_("_Pause"), 0, 0, NULL }, + { PIDGIN_STOCK_EDIT, N_("_Edit"), 0, 0, NULL } +}; + +static struct SizedStockIcon { + const char *name; + const char *dir; + const char *filename; + gboolean microscopic; + gboolean extra_small; + gboolean small; + gboolean medium; + gboolean large; + gboolean huge; + gboolean rtl; + const char *translucent_name; +} const sized_stock_icons [] = { + + + /* Status icons */ + + { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "pidgin-available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I }, + { PIDGIN_STOCK_STATUS_AWAY, "status", "pidgin-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I }, + { PIDGIN_STOCK_STATUS_BUSY, "status", "pidgin-busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I }, + { PIDGIN_STOCK_STATUS_CHAT, "status", "pidgin-chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_INVISIBLE, "status", "pidgin-invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_XA, "status", "pidgin-extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_XA_I }, + { PIDGIN_STOCK_STATUS_LOGIN, "status", "pidgin-log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_LOGOUT, "status", "pidgin-log-out.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_OFFLINE, "status", "pidgin-offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I }, + { PIDGIN_STOCK_STATUS_PERSON, "status", "pidgin-person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_MESSAGE, "actions", "pidgin-message-new.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + + + /* Chatroom icons */ + + { PIDGIN_STOCK_STATUS_IGNORED, "status", "pidgin-blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_FOUNDER, "status", "pidgin-founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_OPERATOR, "status", "pidgin-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_HALFOP, "status", "pidgin-half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_STATUS_VOICE, "status", "pidgin-voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + + + /* Dialog icons */ + + { PIDGIN_STOCK_DIALOG_AUTH, "status", "pidgin-auth.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_COOL, "status", "pidgin-cool.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_ERROR, "status", "pidgin-error.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_INFO, "status", "pidgin-info.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_MAIL, "status", "pidgin-mail.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_QUESTION, "status", "pidgin-question.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + { PIDGIN_STOCK_DIALOG_WARNING, "status", "pidgin-warning.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, + + + /* Animations */ + + { PIDGIN_STOCK_ANIMATION_CONNECT0, "animations", "process-working0.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT1, "animations", "process-working1.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT2, "animations", "process-working2.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT3, "animations", "process-working3.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT4, "animations", "process-working4.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT5, "animations", "process-working5.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT6, "animations", "process-working6.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT7, "animations", "process-working7.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT8, "animations", "process-working8.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT9, "animations", "process-working9.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT10, "animations", "process-working10.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT11, "animations", "process-working11.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT12, "animations", "process-working12.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT13, "animations", "process-working13.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT14, "animations", "process-working14.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT15, "animations", "process-working15.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT16, "animations", "process-working16.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT17, "animations", "process-working17.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT18, "animations", "process-working18.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT19, "animations", "process-working19.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT20, "animations", "process-working20.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT21, "animations", "process-working21.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT22, "animations", "process-working22.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT23, "animations", "process-working23.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT24, "animations", "process-working24.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT25, "animations", "process-working25.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT26, "animations", "process-working26.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT27, "animations", "process-working27.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT28, "animations", "process-working28.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT29, "animations", "process-working29.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_CONNECT30, "animations", "process-working30.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING0, "animations", "typing0.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING1, "animations", "typing1.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING2, "animations", "typing2.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING3, "animations", "typing3.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING4, "animations", "typing4.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_ANIMATION_TYPING5, "animations", "typing5.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + + + /* Conversation toolbar icons */ + + { PIDGIN_STOCK_TOOLBAR_BGCOLOR, "actions", "pidgin-change-bgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_FGCOLOR, "actions", "pidgin-change-fgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, "actions", "pidgin-font-size-down.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, "actions", "pidgin-font-size-up.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_SMILEY, "actions", "pidgin-emote-select.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_FONT_FACE, "actions", "pidgin-font-face.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_INSERT, "actions", "pidgin-insert.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, "actions", "pidgin-insert-image.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_INSERT_LINK, "actions", "pidgin-insert-link.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + + + /* Menu icons */ + + { PIDGIN_STOCK_TOOLBAR_BLOCK, "status", "pidgin-blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, "actions", "pidgin-message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_PENDING, "status", "pidgin-tray-new-im.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_PLUGINS, "actions", "pidgin-view-plugins.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_UNBLOCK, "actions", "pidgin-unblock.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "actions", "pidgin-select-avatar.png", FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "actions", "pidgin-send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TOOLBAR_TRANSFER, "actions", "pidgin-view-transfer.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, + + + /* Tray icons */ + + { PIDGIN_STOCK_TRAY_AVAILABLE, "status", "pidgin-tray-online.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_INVISIBLE, "status", "pidgin-tray-invisible.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_AWAY, "status", "pidgin-tray-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_BUSY, "status", "pidgin-tray-busy.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_XA, "status", "pidgin-tray-extended-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_OFFLINE, "status", "pidgin-tray-offline.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_CONNECT, "status", "pidgin-tray-connecting.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_PENDING, "status", "pidgin-tray-new-im.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, + { PIDGIN_STOCK_TRAY_EMAIL, "status", "pidgin-tray-message.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL } + +}; + +static gchar * +find_file(const char *dir, const char *base) +{ + char *filename; + + if (base == NULL) + return NULL; + + if (!strcmp(dir, "pidgin")) + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", base, NULL); + else + { + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, + base, NULL); + } + + return filename; +} + +static void +add_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, const char *dir, + gboolean rtl, const char *size, const char *file) +{ + char *filename; + GtkIconSource *source; + + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, file, NULL); + source = gtk_icon_source_new(); + gtk_icon_source_set_filename(source, filename); + gtk_icon_source_set_direction(source, GTK_TEXT_DIR_LTR); + gtk_icon_source_set_direction_wildcarded(source, !rtl); + gtk_icon_source_set_size(source, sizeid); + gtk_icon_source_set_size_wildcarded(source, FALSE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + gtk_icon_set_add_source(iconset, source); + gtk_icon_source_free(source); + + if (sizeid == gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)) { + source = gtk_icon_source_new(); + gtk_icon_source_set_filename(source, filename); + gtk_icon_source_set_direction_wildcarded(source, TRUE); + gtk_icon_source_set_size(source, GTK_ICON_SIZE_MENU); + gtk_icon_source_set_size_wildcarded(source, FALSE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + gtk_icon_set_add_source(iconset, source); + gtk_icon_source_free(source); + } + g_free(filename); + + if (rtl) { + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, "rtl", file, NULL); + source = gtk_icon_source_new(); + gtk_icon_source_set_filename(source, filename); + gtk_icon_source_set_direction(source, GTK_TEXT_DIR_RTL); + gtk_icon_source_set_size(source, sizeid); + gtk_icon_source_set_size_wildcarded(source, FALSE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + gtk_icon_set_add_source(iconset, source); + g_free(filename); + gtk_icon_source_free(source); + } + + +} + +/* Altered from do_colorshift in gnome-panel */ +static void +do_alphashift (GdkPixbuf *dest, GdkPixbuf *src) +{ + gint i, j; + gint width, height, has_alpha, srcrowstride, destrowstride; + guchar *target_pixels; + guchar *original_pixels; + guchar *pixsrc; + guchar *pixdest; + guchar a; + + has_alpha = gdk_pixbuf_get_has_alpha (src); + if (!has_alpha) + return; + + width = gdk_pixbuf_get_width (src); + height = gdk_pixbuf_get_height (src); + srcrowstride = gdk_pixbuf_get_rowstride (src); + destrowstride = gdk_pixbuf_get_rowstride (dest); + target_pixels = gdk_pixbuf_get_pixels (dest); + original_pixels = gdk_pixbuf_get_pixels (src); + + for (i = 0; i < height; i++) { + pixdest = target_pixels + i*destrowstride; + pixsrc = original_pixels + i*srcrowstride; + for (j = 0; j < width; j++) { + *(pixdest++) = *(pixsrc++); + *(pixdest++) = *(pixsrc++); + *(pixdest++) = *(pixsrc++); + a = *(pixsrc++); + *(pixdest++) = a / 2; + } + } +} + +/* TODO: This is almost certainly not the best way to do this, but it's late, I'm tired, + * we're a few hours from getting this thing out, and copy/paste is EASY. + */ +static void +add_translucent_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, const char *dir, + gboolean rtl, const char *size, const char *file) +{ + char *filename; + GtkIconSource *source; + GdkPixbuf *pixbuf; + + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, file, NULL); + pixbuf = gdk_pixbuf_new_from_file(filename, NULL); + do_alphashift(pixbuf, pixbuf); + + source = gtk_icon_source_new(); + gtk_icon_source_set_pixbuf(source, pixbuf); + gtk_icon_source_set_direction(source, GTK_TEXT_DIR_LTR); + gtk_icon_source_set_direction_wildcarded(source, !rtl); + gtk_icon_source_set_size(source, sizeid); + gtk_icon_source_set_size_wildcarded(source, FALSE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + gtk_icon_set_add_source(iconset, source); + gtk_icon_source_free(source); + + if (sizeid == gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)) { + source = gtk_icon_source_new(); + gtk_icon_source_set_pixbuf(source, pixbuf); + gtk_icon_source_set_direction_wildcarded(source, TRUE); + gtk_icon_source_set_size(source, GTK_ICON_SIZE_MENU); + gtk_icon_source_set_size_wildcarded(source, FALSE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + gtk_icon_set_add_source(iconset, source); + gtk_icon_source_free(source); + } + g_free(filename); + g_object_unref(pixbuf); + + if (rtl) { + filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, "rtl", file, NULL); + pixbuf = gdk_pixbuf_new_from_file(filename, NULL); + do_alphashift(pixbuf, pixbuf); + source = gtk_icon_source_new(); + gtk_icon_source_set_pixbuf(source, pixbuf); + gtk_icon_source_set_direction(source, GTK_TEXT_DIR_RTL); + gtk_icon_source_set_size(source, sizeid); + gtk_icon_source_set_size_wildcarded(source, FALSE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + gtk_icon_set_add_source(iconset, source); + g_free(filename); + g_object_unref(pixbuf); + gtk_icon_source_free(source); + } + + +} + + +void +pidgin_stock_init(void) +{ + static gboolean stock_initted = FALSE; + GtkIconFactory *icon_factory; + size_t i; + GtkWidget *win; + GtkIconSize microscopic, extra_small, small, medium, large, huge; + + if (stock_initted) + return; + + stock_initted = TRUE; + + /* Setup the icon factory. */ + icon_factory = gtk_icon_factory_new(); + + gtk_icon_factory_add_default(icon_factory); + + /* Er, yeah, a hack, but it works. :) */ + win = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_widget_realize(win); + + for (i = 0; i < G_N_ELEMENTS(stock_icons); i++) + { + GtkIconSource *source; + GtkIconSet *iconset; + gchar *filename; + + if (stock_icons[i].dir == NULL) + { + /* GTK+ Stock icon */ + iconset = gtk_style_lookup_icon_set(gtk_widget_get_style(win), + stock_icons[i].filename); + } + else + { + filename = find_file(stock_icons[i].dir, stock_icons[i].filename); + + if (filename == NULL) + continue; + + source = gtk_icon_source_new(); + gtk_icon_source_set_filename(source, filename); + gtk_icon_source_set_direction_wildcarded(source, TRUE); + gtk_icon_source_set_size_wildcarded(source, TRUE); + gtk_icon_source_set_state_wildcarded(source, TRUE); + + + iconset = gtk_icon_set_new(); + gtk_icon_set_add_source(iconset, source); + + gtk_icon_source_free(source); + g_free(filename); + } + + gtk_icon_factory_add(icon_factory, stock_icons[i].name, iconset); + + gtk_icon_set_unref(iconset); + } + + /* register custom icon sizes */ + + microscopic = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MICROSCOPIC, 11, 11); + extra_small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL, 16, 16); + small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_SMALL, 22, 22); + medium = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MEDIUM, 32, 32); + large = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_LARGE, 48, 48); + huge = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_HUGE, 64, 64); + + for (i = 0; i < G_N_ELEMENTS(sized_stock_icons); i++) + { + GtkIconSet *iconset; + + iconset = gtk_icon_set_new(); + +#define ADD_SIZED_ICON(name, size) do { \ + if (sized_stock_icons[i].name) \ + add_sized_icon(iconset, name, \ + sized_stock_icons[i].dir, sized_stock_icons[i].rtl, \ + size, sized_stock_icons[i].filename); \ + } while (0) + ADD_SIZED_ICON(microscopic, "11"); + ADD_SIZED_ICON(extra_small, "16"); + ADD_SIZED_ICON(small, "22"); + ADD_SIZED_ICON(medium, "32"); + ADD_SIZED_ICON(large, "48"); + ADD_SIZED_ICON(huge, "64"); +#undef ADD_SIZED_ICON + + gtk_icon_factory_add(icon_factory, sized_stock_icons[i].name, iconset); + gtk_icon_set_unref(iconset); + + if (sized_stock_icons[i].translucent_name) { + iconset = gtk_icon_set_new(); + +#define ADD_TRANS_ICON(name, size) do { \ + if (sized_stock_icons[i].name) \ + add_translucent_sized_icon(iconset, name, \ + sized_stock_icons[i].dir, sized_stock_icons[i].rtl, \ + size, sized_stock_icons[i].filename); \ + } while (0) + ADD_TRANS_ICON(microscopic, "11"); + ADD_TRANS_ICON(extra_small, "16"); + ADD_TRANS_ICON(small, "22"); + ADD_TRANS_ICON(medium, "32"); + ADD_TRANS_ICON(large, "48"); + ADD_TRANS_ICON(huge, "64"); +#undef ADD_TRANS_ICON + + gtk_icon_factory_add(icon_factory, sized_stock_icons[i].translucent_name, iconset); + gtk_icon_set_unref(iconset); + } + } + + gtk_widget_destroy(win); + g_object_unref(G_OBJECT(icon_factory)); + + /* Register the stock items. */ + gtk_stock_add_static(stock_items, G_N_ELEMENTS(stock_items)); +}
--- a/pidgin/plugins/Makefile.am Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/plugins/Makefile.am Thu Sep 11 20:26:21 2008 +0000 @@ -132,7 +132,7 @@ # SUFFIXES = .c .so .c.so: - $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_srcdir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) + $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_builddir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(PLUGIN_LIBS) @rm -f tmp$@.lo tmp$@.o libtmp$@.la @cp .libs/libtmp$@.so* $@
--- a/pidgin/plugins/relnot.c Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/plugins/relnot.c Thu Sep 11 20:26:21 2008 +0000 @@ -33,6 +33,7 @@ #include "connection.h" #include "core.h" +#include "debug.h" #include "notify.h" #include "prefs.h" #include "util.h" @@ -45,14 +46,39 @@ static void version_fetch_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, - const gchar *changelog, size_t len, const gchar *error_message) + const gchar *response, size_t len, const gchar *error_message) { - char *cur_ver, *formatted; + gchar *cur_ver, *formatted; + const char *tmp, *changelog; + char response_code[4]; + GString *message; - int i=0; + int i = 0; + + if(error_message || !response || !len) + return; - if(error_message || !changelog || !len) + memset(response_code, '\0', sizeof(response_code)); + /* Parse the status code - the response should be in the form of "HTTP/?.? 200 ..." */ + if ((tmp = strstr(response, " ")) != NULL) { + tmp++; + /* Read the 3 digit status code */ + if (len - (tmp - response) > 3) { + memcpy(response_code, tmp, 3); + } + } + + if (strcmp(response_code, "200") != 0) { + purple_debug_error("relnot", "Didn't recieve a HTTP status code of 200.\n"); return; + } + + /* Go to the start of the data */ + if((changelog = strstr(response, "\r\n\r\n")) == NULL) { + purple_debug_error("relnot", "Unable to find start of HTTP response data.\n"); + return; + } + changelog += 4; while(changelog[i] && changelog[i] != '\n') i++; @@ -94,16 +120,35 @@ { int last_check = purple_prefs_get_int("/plugins/gtk/relnot/last_check"); if(!last_check || time(NULL) - last_check > MIN_CHECK_INTERVAL) { - char *url = g_strdup_printf("http://pidgin.im/version.php?version=%s&build=%s", purple_core_get_version(), + gchar *url, *request; + const char *host = "pidgin.im"; + + url = g_strdup_printf("http://%s/version.php?version=%s&build=%s", + host, + purple_core_get_version(), #ifdef _WIN32 "purple-win32" #else "purple" #endif ); - purple_util_fetch_url(url, TRUE, NULL, FALSE, version_fetch_cb, NULL); + + request = g_strdup_printf( + "GET %s HTTP/1.0\r\n" + "Connection: close\r\n" + "Accept: */*\r\n" + "Host: %s\r\n\r\n", + url, + host); + + purple_util_fetch_url_request_len(url, TRUE, NULL, FALSE, + request, TRUE, -1, version_fetch_cb, NULL); + + g_free(request); + g_free(url); + purple_prefs_set_int("/plugins/gtk/relnot/last_check", time(NULL)); - g_free(url); + } }
--- a/pidgin/win32/nsis/pidgin-installer.nsi Thu Sep 11 20:25:47 2008 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Thu Sep 11 20:26:21 2008 +0000 @@ -777,12 +777,8 @@ Delete "$INSTDIR\sounds\purple\send.wav" RMDir "$INSTDIR\sounds\purple" RMDir "$INSTDIR\sounds" - Delete "$INSTDIR\comerr32.dll" Delete "$INSTDIR\freebl3.dll" - Delete "$INSTDIR\gssapi32.dll" Delete "$INSTDIR\idletrack.dll" - Delete "$INSTDIR\k5sprt32.dll" - Delete "$INSTDIR\krb5_32.dll" Delete "$INSTDIR\libgtkspell.dll" Delete "$INSTDIR\libjabber.dll" Delete "$INSTDIR\libmeanwhile-1.dll" @@ -1420,13 +1416,17 @@ Push $R1 Push $R2 - ; Make the GTK+ Section RO if it is required. Call DoWeNeedGtk Pop $R0 Pop $R2 - IntCmp $R0 1 gtk_not_mandatory gtk_not_mandatory + IntCmp $R0 1 gtk_selection_done gtk_not_mandatory + ; Make the GTK+ Section RO if it is required. !insertmacro SetSectionFlag ${SecGtk} ${SF_RO} + Goto gtk_selection_done gtk_not_mandatory: + ; Don't select the GTK+ section if we already have this version or newer installed + !insertmacro UnselectSection ${SecGtk} + gtk_selection_done: ; If on Win95/98/ME warn them that the GTK+ version wont work ${Unless} ${IsNT}
--- a/po/POTFILES.in Thu Sep 11 20:25:47 2008 +0000 +++ b/po/POTFILES.in Thu Sep 11 20:26:21 2008 +0000 @@ -183,6 +183,8 @@ libpurple/util.c libpurple/win32/libc_interface.c pidgin.desktop.in +pidgin/artwork/hicolor/24x24/emotes/default.theme.in +pidgin/artwork/hicolor/24x24/emotes/none/none.theme.in pidgin/eggtrayicon.c pidgin/gtkaccount.c pidgin/gtkblist.c @@ -214,6 +216,7 @@ pidgin/gtkwhiteboard.c pidgin/pidgin.h pidgin/pidgincombobox.c +pidgin/pidginstock-artwork.c pidgin/pidginstock.c pidgin/pidgintooltip.c pidgin/pixmaps/emotes/default/24/default.theme.in
--- a/po/sv.po Thu Sep 11 20:25:47 2008 +0000 +++ b/po/sv.po Thu Sep 11 20:26:21 2008 +0000 @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: Pidgin\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-05-15 11:16+0200\n" -"PO-Revision-Date: 2008-05-15 11:16+0100\n" +"POT-Creation-Date: 2008-09-02 11:40+0200\n" +"PO-Revision-Date: 2008-09-02 11:40+0100\n" "Last-Translator: Peter Hjalmarsson <xake@rymdraket.net>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -96,6 +96,10 @@ msgid "Alias:" msgstr "Alias:" +#. Register checkbox +msgid "Create this account on the server" +msgstr "Skapa detta kontot på servern" + #. Cancel button #. Cancel msgid "Cancel" @@ -322,6 +326,7 @@ msgid "Nickname" msgstr "Smeknamn" +#. Never know what those translations might end up like... #. Idle stuff msgid "Idle" msgstr "Inaktiv" @@ -402,6 +407,9 @@ msgid "View Log..." msgstr "Visa logg..." +msgid "View All Logs" +msgstr "Visa alla loggar" + msgid "Show" msgstr "Visa" @@ -599,6 +607,19 @@ msgid "Send To" msgstr "Skicka till" +msgid "Invite message" +msgstr "Ibjudningsmeddelande" + +msgid "Invite" +msgstr "Bjud in" + +msgid "" +"Please enter the name of the user you wish to invite,\n" +"along with an optional invite message." +msgstr "" +"Ange namnet på den användare du vill bjuda in,\n" +"samt ett inbjudningsmeddelande om du vill" + msgid "Conversation" msgstr "Konversation" @@ -611,6 +632,9 @@ msgid "Add Buddy Pounce..." msgstr "Lägg till kompisnotifiering..." +msgid "Invite..." +msgstr "Bjud in..." + msgid "Enable Logging" msgstr "Aktivera loggning" @@ -620,9 +644,11 @@ msgid "<AUTO-REPLY> " msgstr "<AUTO-SVAR>" -#. Print the list of users in the room -msgid "List of users:\n" -msgstr "Lista över användare:\n" +#, c-format +msgid "List of %d user:\n" +msgid_plural "List of %d users:\n" +msgstr[0] "Lista över %d användare:\n" +msgstr[1] "Lista över %d användare:\n" msgid "Supported debug options are: version" msgstr "De felsökningsalternativ som stöds är: version" @@ -637,6 +663,18 @@ "Använde \"/help <kommando>\" för hjälp om ett specifikt kommando.\n" "Följande kommandon är tillgängliga i sammanhanget:\n" +#, c-format +msgid "" +"%s is not a valid message class. See '/help msgcolor' for valid message " +"classes." +msgstr "" +"%s är inte en giltig meddelandeklass. Se '/help msgcolor' för giltiga " +"meddelandeklasser." + +#, c-format +msgid "%s is not a valid color. See '/help msgcolor' for valid colors." +msgstr "%s är inte en giltig färg. Se '/help msgcolor' för giltiga färger." + msgid "" "say <message>: Send a message normally as if you weren't using a " "command." @@ -682,6 +720,19 @@ msgid "statuses: Show the savedstatuses window." msgstr "statuses: Visar statushanteraren." +msgid "" +"msgcolor <class> <foreground> <background>: Set the color " +"for different classes of messages in the conversation window.<br> <" +"class>: receive, send, highlight, action, timestamp<br> <foreground/" +"background>: black, red, green, blue, white, gray, darkgray, magenta, " +"cyan, default<br><br>EXAMPLE:<br> msgcolor send cyan default" +msgstr "" +"msgcolor <klass> <förgrund> <bakgrund>: Anger färgerna för " +"olika klasser av meddelanden in konversationsfönstret. <br> <" +"klass>: recieve, send, highlight, action, timestamp<br> <förgrund/" +"bakgrund>: black, red, green, blue, white, gray, darkgray, magenta, cyan, " +"default<br><br>EXEMPEL:<br> msgcolor send cyan default" + msgid "Unable to open file." msgstr "Kan inte öppna filen." @@ -702,8 +753,10 @@ msgstr "Pausa" #, c-format -msgid "File Transfers - %d%% of %d files" -msgstr "Filöverföringar - %d%% av %d filer" +msgid "File Transfers - %d%% of %d file" +msgid_plural "File Transfers - %d%% of %d files" +msgstr[0] "Filöverföringar - %d%% av %d fil" +msgstr[1] "Filöverföringar - %d%% av %d filer" #. Create the window. msgid "File Transfers" @@ -818,6 +871,9 @@ msgid "Conversations with %s" msgstr "Konversationer med %s" +msgid "All Conversations" +msgstr "Alla konversationer" + msgid "System Log" msgstr "Systemlogg" @@ -855,9 +911,6 @@ msgid "IM" msgstr "Meddelande" -msgid "Invite" -msgstr "Bjud in" - msgid "(none)" msgstr "(inget)" @@ -1451,6 +1504,12 @@ msgid "No Grouping" msgstr "Ingen gruppering" +msgid "Nested Subgroup" +msgstr "Nästad undergrupp" + +msgid "Nested Grouping (experimental)" +msgstr "Nästad gruppering (experimental)" + msgid "Provides alternate buddylist grouping options." msgstr "Erbjuder alternativa val för gruppering i kompislistan." @@ -2069,8 +2128,11 @@ msgid "ABI version mismatch %d.%d.x (need %d.%d.x)" msgstr "ABI versionen passar inte %d.%d.x (behöver %d.%d.x)" -msgid "Plugin does not implement all required functions" -msgstr "Insticksmodulen tillhandahåller inte alla nödvändiga funktioner" +msgid "" +"Plugin does not implement all required functions (list_icon, login and close)" +msgstr "" +"Insticksmodulen tillhandahåller inte alla nödvändiga funktioner (list_icon, " +"login och close)" #, c-format msgid "" @@ -2150,6 +2212,9 @@ "Rapportera med en popupp när en autoaccepterad filöverföring är avslutad\n" "(endast när det inte är någon konversation med sändaren)" +msgid "Create a new directory for each user" +msgstr "Skapa en ny katalog för varje användare" + msgid "Notes" msgstr "Noteringar" @@ -2313,6 +2378,9 @@ msgid "User Inactivity Timeout (in minutes)" msgstr "Användares inaktivitetstidsgräns (i minuter)" +msgid "Apply hiding rules to buddies" +msgstr "Verkställ döljningsregler för kompisar" + #. *< type #. *< ui_requirement #. *< flags @@ -2732,13 +2800,11 @@ "modulen måste du installera ActiveTCL från http://www.activestate.com\n" msgid "" -"The Apple Bonjour For Windows toolkit wasn't found, see the FAQ at: http://" -"developer.pidgin.im/wiki/Using%20Pidgin#CanIusePidginforBonjourLink-" -"LocalMessaging for more information." -msgstr "" -"Apples Bonjour För Windows hittades inte, läs FAQen: http://developer.pidgin." -"im/wiki/Using%20Pidgin#CanIusePidginforBonjourLink-LocalMessaging för mer " -"information" +"The Apple Bonjour For Windows toolkit wasn't found, see the FAQ at: http://d." +"pidgin.im/BonjourWindows for more information." +msgstr "" +"Apples Bonjour För Windows hittades inte, läs FAQen: http://d.pidgin.im/" +"BonjourWindows för mer information" msgid "Unable to listen for incoming IM connections\n" msgstr "Kan inte lyssna efter inkommande IM anslutningar\n" @@ -2792,9 +2858,6 @@ msgid "Cannot open socket" msgstr "Kan inte öppna uttag" -msgid "Error setting socket options" -msgstr "Fel vid angivning av socket-val" - msgid "Could not bind socket to port" msgstr "Kunde inte binda uttag till port" @@ -2848,6 +2911,9 @@ msgid "Save buddylist..." msgstr "Spara kompislista..." +msgid "Load buddylist from file..." +msgstr "Läs in kompislista från fil..." + msgid "Fill in the registration fields." msgstr "Fyll i registreringsfälten." @@ -3024,9 +3090,6 @@ msgid "Save buddylist to file..." msgstr "Spara kompislista till fil..." -msgid "Load buddylist from file..." -msgstr "Läs in kompislista från fil..." - #. magic #. major_version #. minor_version @@ -3142,6 +3205,9 @@ msgid "Encodings" msgstr "Kodning" +msgid "Auto-detect incoming UTF-8" +msgstr "Auto-avkänning för inkommande UTF-8" + msgid "Real name" msgstr "Fullständigt namn" @@ -3156,8 +3222,8 @@ msgstr "Felaktigt läge" #, c-format -msgid "Ban on %s by %s, set %ld seconds ago" -msgstr "Bannlysning för %s av %s sattes för %ld sekunder sedan" +msgid "Ban on %s by %s, set %s ago" +msgstr "Bannlysning för %s av %s sattes för %s sedan" #, c-format msgid "Ban on %s" @@ -3327,6 +3393,9 @@ "away [meddelande]: Ange ett frånvaromeddelande eller ange utan meddelande " "för att återvända från frånvaro." +msgid "ctcp <nick> <msg>: sends ctcp msg to nick." +msgstr "ctcp <alias> <meddelande>: skicka ett ctcp meddelande till alias" + msgid "chanserv: Send a command to chanserv" msgstr "chanserv: Skicka ett kommando till chanserv" @@ -3588,6 +3657,8 @@ msgid "Country" msgstr "Land" +#. lots of clients (including purple) do this, but it's +#. * out of spec msgid "Telephone" msgstr "Telefon" @@ -3788,6 +3859,9 @@ msgid "Capabilities" msgstr "Stödjer" +msgid "Priority" +msgstr "Prioritet" + # Detta begrepp är ju skumt nog som det är på engelska, så det kanske # är lika bra att använda ett svensk ord som är nästan snarlikt så # att åtminstone de som känner till vad Resource betyder i Jabber @@ -3796,9 +3870,6 @@ msgid "Resource" msgstr "Resurs" -msgid "Priority" -msgstr "Prioritet" - msgid "Middle Name" msgstr "Andranamn" @@ -4490,8 +4561,8 @@ msgstr "XMPP meddelandefel" #, c-format -msgid " (Code %s)" -msgstr " (Kod %s)" +msgid "(Code %s)" +msgstr "(Kod %s)" msgid "XML Parse error" msgstr "XML-tolkningsfel" @@ -4516,14 +4587,14 @@ msgstr "_Acceptera förval" #, c-format +msgid "Error joining chat %s" +msgstr "Fel vid anslutning till chatt %s" + +#, c-format msgid "Error in chat %s" msgstr "Fel i chatt %s" #, c-format -msgid "Error joining chat %s" -msgstr "Fel vid anslutning till chatt %s" - -#, c-format msgid "Unable to send file to %s, user does not support file transfers" msgstr "Kan inte skicka fil till %s, användaren stödjer inte filöverföringar" @@ -4819,6 +4890,10 @@ msgstr "Passkonto ännu inte verifierat" #, c-format +msgid "Passport account suspended" +msgstr "Passport-kontot är avstängt" + +#, c-format msgid "Bad ticket" msgstr "Ogiltig biljett" @@ -4841,6 +4916,9 @@ msgid "Nudging %s..." msgstr "Vibbar %s..." +msgid "Email Address..." +msgstr "E-postadress..." + msgid "Your new MSN friendly name is too long." msgstr "Ditt nya smeknamn för MSN är för långt." @@ -4875,8 +4953,21 @@ msgid "Disallow" msgstr "Tillåt ej" -msgid "This Hotmail account may not be active." -msgstr "Detta Hotmail-konto är kanske inte aktivt." +#, c-format +msgid "Blocked Text for %s" +msgstr "Blockerad text för %s" + +msgid "No text is blocked for this account." +msgstr "Ingen text är blockerad för detta kontot." + +#, c-format +msgid "" +"MSN servers are currently blocking the following regular expressions:<br/>%s" +msgstr "" +"MSN-servrarna blockerar för tillfället följande reguljära uttryck:<br/>%s" + +msgid "This account does not have email enabled." +msgstr "Detta kontot har inte epost aktiverat." msgid "Send a mobile message." msgstr "Skicka ett mobilmeddelande." @@ -4935,6 +5026,9 @@ msgid "Allow/Disallow Mobile Pages..." msgstr "Tillåt/Hindra mobilsökningar..." +msgid "View Blocked Text..." +msgstr "Visa blockerad text..." + msgid "Open Hotmail Inbox" msgstr "Öppna Hotmail Inkorg" @@ -5137,16 +5231,8 @@ msgid "Windows Live ID authentication:Unable to connect" msgstr "Windows Live ID autentisering: Kunde inte ansluta" -#. we must have failed! -msgid "" -"Windows Live ID authentication: cannot find authenticate token in server " -"response" -msgstr "" -"Windows Live ID autentisering: Kunde inte finns autentiseringsmarkös i " -"serverns svar" - -msgid "Windows Live ID authentication Failed" -msgstr "Windows Live ID autentisering misslyckades" +msgid "Windows Live ID authentication:Invalid response" +msgstr "Windows Live ID autentisering: Ogiltigt svar" #, c-format msgid "%s is not a valid group." @@ -5193,6 +5279,9 @@ msgid "Service Temporarily Unavailable." msgstr "Tjänst tillfälligt onåbar." +msgid "Mobile message was not sent because it was too long." +msgstr "Mobilmeddelandet sändes inte då det var för långt." + msgid "Unable to rename group" msgstr "Kan inte byta namn på grupp" @@ -5227,6 +5316,26 @@ "\n" "Efter underhållet är slutfört kommer du kunna ansluta till MSN som vanligt." +msgid "" +"Message was not sent because the system is unavailable. This normally " +"happens when the user is blocked or does not exist." +msgstr "" +"Meddelandet skickades inte eftersom systemet ej var tillgängligt. Detta " +"händer normalt när en användare är blockerad eller inte existerar." + +msgid "Message was not sent because messages are being sent too quickly." +msgstr "" +"Meddelandet kunde inte skickas eftersom meddelandena skickades för snabbt." + +#, fuzzy +msgid "Message was not sent because an unknown encoding error occurred." +msgstr "" +"Meddelandet kunde kanske inte skickas på grund av att ett okänt fel uppstod:" + +msgid "Message was not sent because an unknown error occurred." +msgstr "" +"Meddelandet kunde kanske inte skickas på grund av att ett okänt fel uppstod." + msgid "Unable to connect" msgstr "Kan inte ansluta" @@ -5344,6 +5453,9 @@ msgid "The username specified is invalid." msgstr "Den angivna användarnamnet är ogiltigt." +msgid "This Hotmail account may not be active." +msgstr "Detta Hotmail-konto är kanske inte aktivt." + msgid "Has you" msgstr "Har dig" @@ -5383,8 +5495,10 @@ msgstr "Loggar in" #, c-format -msgid "Connection to server lost (no data received within %d seconds)" -msgstr "Anslutning till servern tappad (ingen data mottagen på %d sekunder)" +msgid "Connection to server lost (no data received within %d second)" +msgid_plural "Connection to server lost (no data received within %d seconds)" +msgstr[0] "Anslutning till servern tappad (ingen data mottagen på %d sekund)" +msgstr[1] "Anslutning till servern tappad (ingen data mottagen på %d sekunder)" #. Can't write _()'d strings in array initializers. Workaround. msgid "New mail messages" @@ -5484,9 +5598,15 @@ #, c-format msgid "" +"%d buddy was added or updated from the server (including buddies already on " +"the server-side list)" +msgid_plural "" "%d buddies were added or updated from the server (including buddies already " "on the server-side list)" -msgstr "" +msgstr[0] "" +"%d vän lades till eller uppdaterades av servern (inklusive vänner som redan " +"fanns på serverns lista)" +msgstr[1] "" "%d vänner lades till eller uppdaterades av servern (inklusive vänner som " "redan fanns på serverns lista)" @@ -6018,6 +6138,9 @@ msgid "AIM Protocol Plugin" msgstr "Insticksmodul för AIM-protokoll" +msgid "ICQ UIN..." +msgstr "IQC UIN..." + #. *< type #. *< ui_requirement #. *< flags @@ -6114,11 +6237,11 @@ msgid "In local permit/deny" msgstr "I lokal tillåt/neka" -msgid "Too evil (sender)" -msgstr "För onskefull (avsändare)" - -msgid "Too evil (receiver)" -msgstr "För onskefull (mottagare)" +msgid "Warning level too high (sender)" +msgstr "Varningsnivån för hög (sändaren)" + +msgid "Warning level too high (receiver)" +msgstr "Varningsnivån för hög (mottagaren)" msgid "User temporarily unavailable" msgstr "Användare är tillfälligt oåtkommlig" @@ -6221,6 +6344,9 @@ msgid "Camera" msgstr "Kamera" +msgid "Screen Sharing" +msgstr "Skärmdelning" + #, c-format msgid "Free For Chat" msgstr "Tillgänglig för chatt" @@ -6312,7 +6438,6 @@ "Du har anslutit och kopplat ifrån för många gånger. Vänta tio minuter och " "prova igen. Om du fortsätter att försöka kommer du att få vänta ännu längre." -#. client too old #, c-format msgid "The client version you are using is too old. Please upgrade at %s" msgstr "Versionen av klienten du använder är för gammal. Uppgradera på %s" @@ -6468,18 +6593,25 @@ "Du missade %hu meddelanden från %s eftersom frekvensgränsen har överskridits." #, c-format -msgid "You missed %hu message from %s because he/she was too evil." -msgid_plural "You missed %hu messages from %s because he/she was too evil." +msgid "" +"You missed %hu message from %s because his/her warning level is too high." +msgid_plural "" +"You missed %hu messages from %s because his/her warning level is too high." msgstr[0] "" -"Du missade %hu meddelande från %s eftersom hon/han var för onskefull." +"Du missade %hu meddelande från %s eftersom hennes/hans varningsnivå är för " +"hög." msgstr[1] "" -"Du missade %hu meddelanden från %s eftersom hon/han var för onskefull." - -#, c-format -msgid "You missed %hu message from %s because you are too evil." -msgid_plural "You missed %hu messages from %s because you are too evil." -msgstr[0] "Du missade %hu meddelande från %s eftersom du är för onskefull." -msgstr[1] "Du missade %hu meddelanden från %s eftersom du är för onskefull." +"Du missade %hu meddelanden från %s eftersom hennes/hans varningsnivå är för " +"hög." + +#, c-format +msgid "You missed %hu message from %s because your warning level is too high." +msgid_plural "" +"You missed %hu messages from %s because your warning level is too high." +msgstr[0] "" +"Du missade %hu meddelande från %s eftersom din varningsnivå är för hög." +msgstr[1] "" +"Du missade %hu meddelanden från %s eftersom din varningsnivå är för hög." #, c-format msgid "You missed %hu message from %s for an unknown reason." @@ -6509,9 +6641,6 @@ msgid "Member Since" msgstr "Medlem sedan" -msgid "Available Message" -msgstr "Tillgängliga meddelanden" - msgid "Your AIM connection may be lost." msgstr "Din anslutning kan vara borta." @@ -6540,12 +6669,17 @@ msgid "Personal Web Page" msgstr "Personlig webbsida" +#. aim_userinfo_t +#. strip_html_tags msgid "Additional Information" msgstr "Extra information" msgid "Zip Code" msgstr "Postnummer" +msgid "Work Information" +msgstr "Information om arbete" + msgid "Division" msgstr "Avdelning" @@ -6555,9 +6689,6 @@ msgid "Web Page" msgstr "Webbsida" -msgid "Work Information" -msgstr "Information om arbete" - msgid "Pop-Up Message" msgstr "Popup-meddelande" @@ -6774,12 +6905,6 @@ msgstr "" "Din IM-bild skickades inte. Du kan inte skicka IM-bilder via AIM-chattar." -msgid "Away Message" -msgstr "Frånvaromeddelande" - -msgid "<i>(retrieving)</i>" -msgstr "<i>(mottar)</i>" - msgid "iTunes Music Store Link" msgstr "Länk till iTunes Musikaffär" @@ -6906,6 +7031,9 @@ "filöverföringar och direktmeddelanden \n" "(långsammare men avslöjar inte ditt IP-nummer)" +msgid "Allow multiple simultaneous logins" +msgstr "Tillåt många samtidiga inloggningar" + #, c-format msgid "Asking %s to connect to us at %s:%hu for Direct IM." msgstr "Ber %s att ansluta till oss på %s:%hu för Direct IM." @@ -7211,13 +7339,6 @@ "Notera att om du är skaparen, \n" "denna operation kommer till slut ta bort detta Qun." -#, c-format -msgid "Code [0x%02X]: %s" -msgstr "Kod [0x%02X]: %s" - -msgid "Group Operation Error" -msgstr "Gruppoperationsfel" - #. we want to see window msgid "Do you want to approve the request?" msgstr "Vill du godkänna förfrågan?" @@ -7247,35 +7368,42 @@ msgid "Failed to send IM." msgstr "Kunde inte skicka snabbmeddelande" -msgid "Keep alive error" -msgstr "Problem att hålla vid liv" - -msgid "Error requesting login token" -msgstr "Problem att efterfråga inloggningsmarkör" - -msgid "Unable to login. Check debug log." -msgstr "Kan inte logga in. Kolla felsökningsloggen." - -msgid "Unable to login" -msgstr "Kunde inte logga in." - -#. we didn't successfully connect. tdt->toc_fd is valid here -msgid "Unable to connect." -msgstr "Kan inte ansluta." - #, c-format msgid "Unknown-%d" msgstr "Okänd-%d" -msgid "TCP Address" -msgstr "TCP-adress" - -msgid "UDP Address" -msgstr "UDP-adress" - msgid "Level" msgstr "Nivå" +msgid "Member" +msgstr "Medlem" + +msgid " VIP" +msgstr "VIP" + +msgid " TCP" +msgstr "TCP" + +#, fuzzy +msgid " FromMobile" +msgstr "Mobil" + +#, fuzzy +msgid " BindMobile" +msgstr "Mobil" + +msgid " Video" +msgstr " Video" + +msgid " Space" +msgstr " Space" + +msgid "Flag" +msgstr "Flagga" + +msgid "Ver" +msgstr "Ver" + msgid "Invalid name" msgstr "Ogiltigt namn" @@ -7288,12 +7416,16 @@ msgstr "<b>Senast uppdatering</b>: %s<br>\n" #, c-format +msgid "<b>Server</b>: %s: %d<br>\n" +msgstr "<b>Server</b>: %s: %d<br>\n" + +#, c-format msgid "<b>Connection Mode</b>: %s<br>\n" msgstr "<b>Anslutningsläge</b>: %s<br>\n" #, c-format -msgid "<b>Server IP</b>: %s: %d<br>\n" -msgstr "<b>Server IP</b>: %s: %d<br>\n" +msgid "<b>Real hostname</b>: %s: %d<br>\n" +msgstr "<b>Verkligt värdnamn</b>: %s: %d<br>\n" #, c-format msgid "<b>My Public IP</b>: %s<br>\n" @@ -7345,12 +7477,94 @@ msgid "Connect using TCP" msgstr "Ansluter med TCP" +msgid "resend interval(s)" +msgstr "återsändgningsintervall(er)" + +msgid "Keep alive interval(s)" +msgstr "Håll vid liv intrevall(er)" + +msgid "Update interval(s)" +msgstr "Uppdateringsintervall(er)" + +#, c-format +msgid "Invalid token len, %d" +msgstr "Ogiltig polettlen, %d" + +msgid "Keep alive error" +msgstr "Problem att hålla vid liv" + +msgid "Failed to connect server" +msgstr "Kunde inte ansluta till servern" + msgid "Socket error" msgstr "Uttag-fel" +#, c-format +msgid "" +"Lost connection with server:\n" +"%d, %s" +msgstr "" +"Tappade anslutningen med servern:\n" +"%d, %s" + msgid "Unable to read from socket" msgstr "Kan inte läsa från uttag" +msgid "Write Error" +msgstr "Skrivfel" + +msgid "Connection lost" +msgstr "Anslutningen tappades" + +msgid "Couldn't resolve host" +msgstr "Kunde ej slå upp värden" + +msgid "hostname is NULL or port is 0" +msgstr "värdnamn är NULL eller porten är 0" + +#, c-format +msgid "Connecting server %s, retries %d" +msgstr "Ansluter till server %s, försök %d" + +#. we didn't successfully connect. tdt->toc_fd is valid here +msgid "Unable to connect." +msgstr "Kan inte ansluta." + +msgid "Could not resolve hostname" +msgstr "Kunde ej slå upp värden" + +msgid "Unable to login. Check debug log." +msgstr "Kan inte logga in. Kolla felsökningsloggen." + +msgid "Unable to login" +msgstr "Kunde inte logga in." + +#, c-format +msgid "" +"Reply %s(0x%02X )\n" +"Sent %s(0x%02X )\n" +"Room id %d, reply [0x%02X]: \n" +"%s" +msgstr "" +"Svarade %s(0x%02X )\n" +"Skickade %s(0x%02X )\n" +"Rum id %d, svarade [0x%02X]: \n" +"%s" + +msgid "Failed room reply" +msgstr "Misslyckades med rumssvar" + +#, c-format +msgid "You are not a member of group \"%s\"\n" +msgstr "Du är inte medlemm i gruppen \"%s\"\n" + +msgid "Can not decrypt login reply" +msgstr "Kan inte dekryptera inloggningssvaret" + +#, c-format +msgid "Invalid token reply code, 0x%02X" +msgstr "Ogiltig polettsvarskod, 0x%02X" + #, c-format msgid "%d has declined the file %s" msgstr "%d har har nekat filen %s" @@ -7362,12 +7576,6 @@ msgid "%d canceled the transfer of %s" msgstr "%d avbröt överföringen av %s" -msgid "Connection lost" -msgstr "Anslutningen tappades" - -msgid "Login failed, no reply" -msgstr "Inloggningen misslyckades, inget svar" - msgid "Do you want to add this buddy?" msgstr "Vill du lägga till den här kompisen?" @@ -7404,6 +7612,14 @@ msgid "%s is not in your buddy list" msgstr "%s finns inte på din kompislista" +#, c-format +msgid "Notice from: %s" +msgstr "Notifiering från %s" + +#, c-format +msgid "%s" +msgstr "%s" + msgid "Connection closed (writing)" msgstr "Anslutningen stängd (skrivande)" @@ -8414,6 +8630,10 @@ msgid "Error loading SILC key pair" msgstr "Fel vid inläsning av SILC-nyckelpar" +#, c-format +msgid "Download %s: %s" +msgstr "Laddar ned %s: %s" + msgid "Your Current Mood" msgstr "Ditt nuvarande humör" @@ -8860,12 +9080,6 @@ msgid "Could not create listen socket" msgstr "Kunde inte skapa lyssnarsocket" -msgid "Couldn't resolve host" -msgstr "Kunde ej slå upp värden" - -msgid "Could not resolve hostname" -msgstr "Kunde ej slå upp värden" - msgid "SIP usernames may not contain whitespaces or @ symbols" msgstr "SIP-användarnamnet får inte innehålla mellanslag eller symbolen @" @@ -9251,6 +9465,9 @@ msgid "doodle: Request user to start a Doodle session" msgstr "doodle: Fråga användaren angående att starta en kladd-session" +msgid "Yahoo ID..." +msgstr "Yahoo-ID..." + #. *< type #. *< ui_requirement #. *< flags @@ -9313,9 +9530,6 @@ msgid "%s is trying to send you a group of %d files.\n" msgstr "%s försöker skicka en grupp av %d filer till dig.\n" -msgid "Write Error" -msgstr "Skrivfel" - msgid "Yahoo! Japan Profile" msgstr "Yahoo! Japan-profil" @@ -9604,6 +9818,14 @@ msgid "Could not resolve host name" msgstr "Kunde inte slå upp värdnamnet" +#, c-format +msgid "Requesting %s's attention..." +msgstr "Efterfrågar %s's uppmärksamhet..." + +#, c-format +msgid "%s has requested your attention!" +msgstr "%s har efterfrågat din uppmärksamhet!" + #. * #. * A wrapper for purple_request_action() that uses @c Yes and @c No buttons. #. @@ -9633,14 +9855,6 @@ msgstr "%s är nu känd som %s.\n" #, c-format -msgid "Requesting %s's attention..." -msgstr "Efterfrågar %s's uppmärksamhet..." - -#, c-format -msgid "%s has requested your attention!" -msgstr "%s har efterfrågat din uppmärksamhet!" - -#, c-format msgid "" "%s has invited %s to the chat room %s:\n" "%s" @@ -9655,6 +9869,20 @@ msgid "Accept chat invitation?" msgstr "Tacka ja till chattinbjudan?" +#. Shortcut +msgid "Shortcut" +msgstr "Genväg" + +msgid "The text-shortcut for the smiley" +msgstr "Textgenvägen för smileyn" + +#. Stored Image +msgid "Stored Image" +msgstr "Sparad bild" + +msgid "Stored Image. (that'll have to do for now)" +msgstr "Sparade bilder. (det får funka för tillfället)" + msgid "SSL Connection Failed" msgstr "SSL-anslutning misslyckades" @@ -9710,6 +9938,12 @@ msgid "+++ %s became unidle" msgstr "+++ %s har blivit aktiv" +#. +#. * This string determines how some dates are displayed. The default +#. * string "%x %X" shows the date then the time. Translators can +#. * change this to "%X %x" if they want the time to be shown first, +#. * followed by the date. +#. #, c-format msgid "%x %X" msgstr "%x %X" @@ -9825,6 +10059,11 @@ msgid "Connection refused." msgstr "Anslutningen nekades." +#. 10048 +#, c-format +msgid "Address already in use." +msgstr "Adressen används redan" + msgid "Internet Messenger" msgstr "Meddelandeklient" @@ -9932,8 +10171,8 @@ msgid "_Basic" msgstr "_Basic" -msgid "Create this new account on the server" -msgstr "Skapa detta nya kontot på servern" +msgid "Create _this new account on the server" +msgstr "Skapa detta _nya kontot på servern" msgid "_Advanced" msgstr "_Avancerat" @@ -9954,17 +10193,17 @@ "all.\n" "\n" "You can come back to this window to add, edit, or remove accounts from " -"<b>Accounts->Add/Edit</b> in the Buddy List window" +"<b>Accounts->Manage Accounts</b> in the Buddy List window" msgstr "" "<span size='larger' weight='bold'>Välkommen till %s!</span>\n" "\n" "Du har inga IM-konton konfigurerade. För att påbörja en anslutning med %s så " "trycker du på knappen <b>Lägg till</b> nedanför och konfigurerar ditt första " "konto. Om du vill att %s ska ansluta till fler konton trycker du på <b>Lägg " -"till</b> igen för att konfigurera dem en och en.\n" +"till</b> igen för att konfigurera dem alla.\n" "\n" "Du kan komma tillbaka till detta fönster för att lägga till, ändra eller ta " -"bort konton från <b>Konton->Lägg till/Ändra</b> i kompislistans fönster" +"bort konton från <b>Konton->Hantera konton</b> i kompislistans fönster" #, c-format msgid "You have %d contact named %s. Would you like to merge them?" @@ -10033,6 +10272,12 @@ msgid "_Remove" msgstr "_Ta bort" +msgid "Set Custom Icon" +msgstr "Välj egen ikon" + +msgid "Remove Custom Icon" +msgstr "Ta bort egen ikon" + msgid "Add _Buddy..." msgstr "_Lägg till kompis..." @@ -10132,8 +10377,8 @@ msgid "/_Accounts" msgstr "/_Konton" -msgid "/Accounts/Manage" -msgstr "/Konton/Hantera" +msgid "/Accounts/Manage Accounts" +msgstr "/Konton/Hantera konton" #. Tools msgid "/_Tools" @@ -10154,6 +10399,9 @@ msgid "/Tools/Pr_ivacy" msgstr "/Verktyg/_Spärrlista" +msgid "/Tools/Smile_y" +msgstr "/Verktyg/Smile_y" + msgid "/Tools/_File Transfers" msgstr "/Verktyg/_Filöverföringar" @@ -10316,14 +10564,15 @@ "<span weight='bold' size='larger'>Welcome to %s!</span>\n" "\n" "You have no accounts enabled. Enable your IM accounts from the <b>Accounts</" -"b> window at <b>Accounts->Manage</b>. Once you enable accounts, you'll be " -"able to sign on, set your status, and talk to your friends." +"b> window at <b>Accounts->Manage Accounts</b>. Once you enable accounts, " +"you'll be able to sign on, set your status, and talk to your friends." msgstr "" "<span weight='bold' size='larger'>Välkommen till %s!</span>\n" "\n" "Du har inga konton aktiverade. Aktivera dina IM-konton från fönstret " -"<b>Konton</b> vid <b>Konton->Hantera</b>. Så snart du har aktiverat dina " -"konton kommer du kunna välja en status och prata med dina vänner." +"<b>Konton</b> vid <b>Konton->Hantera konton</b>. Så snart du har aktiverat " +"dina konton kommer du kunna logga in, välja en status och prata med dina " +"vänner." #. set the Show Offline Buddies option. must be done #. * after the treeview or faceprint gets mad. -Robot101 @@ -10383,6 +10632,12 @@ msgid "Please enter the name of the group to be added." msgstr "Ange namnet på den grupp som du vill lägga till." +msgid "Enable Account" +msgstr "Aktivera konto" + +msgid "<PurpleMain>/Accounts/Enable Account" +msgstr "<PurpleMain>/Konton/Aktivera Konto" + msgid "<PurpleMain>/Accounts/" msgstr "<PurpleMain>/Konton/" @@ -10395,12 +10650,6 @@ msgid "_Disable" msgstr "A_vaktivera" -msgid "Enable Account" -msgstr "Aktivera konto" - -msgid "<PurpleMain>/Accounts/Enable Account" -msgstr "<PurpleMain>/Konton/Aktivera Konto" - msgid "/Tools" msgstr "/Verktyg" @@ -10486,9 +10735,6 @@ msgid "Change Size" msgstr "Ändra storlek" -msgid "Remove Custom Icon" -msgstr "Ta bort egen ikon" - msgid "Show All" msgstr "Visa Alla" @@ -10757,12 +11003,13 @@ msgid "Fatal Error" msgstr "Allvarligt fel" -msgid "lead developer" -msgstr "utvecklingsledare" - msgid "developer" msgstr "utvecklare" +#. feel free to not translate this +msgid "Ka-Hing Cheung" +msgstr "" + msgid "support" msgstr "support" @@ -10800,6 +11047,9 @@ msgid "original author" msgstr "ursprunglig upphovsman" +msgid "lead developer" +msgstr "utvecklingsledare" + msgid "Afrikaans" msgstr "Afrikaans" @@ -10869,6 +11119,9 @@ msgid "French" msgstr "Franska" +msgid "Irish" +msgstr "Irländska" + msgid "Galician" msgstr "Galiciska" @@ -10935,6 +11188,9 @@ msgid "Norwegian Nynorsk" msgstr "Norska Nynorsk" +msgid "Occitan" +msgstr "" + msgid "Punjabi" msgstr "Punjabi" @@ -11172,23 +11428,35 @@ msgid "Right-click for more unread messages...\n" msgstr "Högerklicka för fler olästa meddelanden...\n" -msgid "Change Status" -msgstr "Ändra status" - -msgid "Show Buddy List" -msgstr "Visa kompislistan" - -msgid "New Message..." -msgstr "Nytt meddelande..." - -msgid "Mute Sounds" -msgstr "Stäng av ljud" - -msgid "Blink on New Message" -msgstr "Blinka vid nya meddelande" - -msgid "Quit" -msgstr "Avsluta" +msgid "_Change Status" +msgstr "Ändra s_tatus" + +msgid "Show Buddy _List" +msgstr "Visa kompis_listan" + +msgid "_Unread Messages" +msgstr "_Olästa meddeladen" + +msgid "New _Message..." +msgstr "Nytt _meddelande..." + +msgid "_Accounts" +msgstr "_Konton" + +msgid "Plu_gins" +msgstr "I_nsticksmoduler" + +msgid "Pr_eferences" +msgstr "_Inställningar" + +msgid "Mute _Sounds" +msgstr "_Stäng av ljud" + +msgid "_Blink on New Message" +msgstr "_Blinka vid nya meddelande" + +msgid "_Quit" +msgstr "_Avsluta" msgid "Not started" msgstr "Ej startad" @@ -11291,9 +11559,8 @@ msgid "Color to draw the name of a message you received." msgstr "Färg att rita namnet på ett meddelande du har tagit emot." -#, fuzzy msgid "\"Attention\" Name Color" -msgstr "Namn på bakgrundsfärg" +msgstr "\"Uppmärksam\" Namnfärg" msgid "Color to draw the name of a message you received containing your name." msgstr "" @@ -11306,22 +11573,26 @@ msgid "Color to draw the name of an action message." msgstr "Färgen att skriva namnet i ett actionmeddelande." -#, fuzzy +msgid "Action Message Name Color for Whispered Message" +msgstr "Actionmeddelandens namnfärg" + +msgid "Whisper Message Name Color" +msgstr "Viskade meddelandens namnfärg" + msgid "Typing notification color" -msgstr "Färg på utpekade länkar" +msgstr "Färg på notifiering" msgid "The color to use for the typing notification font" -msgstr "" - -#, fuzzy +msgstr "Färgen används för skriftnotifiering" + msgid "Typing notification font" -msgstr "Öka Typsnittsstorlek" +msgstr "Typsnitt för skriftnotifiering" msgid "The font to use for the typing notification" msgstr "Typsnittet använt för skrivnotifieringen" msgid "Enable typing notification" -msgstr "" +msgstr "Aktivera skriftnotifiering" msgid "_Copy Email Address" msgstr "_Kopiera e-postadress" @@ -11377,6 +11648,10 @@ msgid "_Save Image..." msgstr "_Spara bild..." +#, c-format +msgid "_Add Custom Smiley..." +msgstr "Lägg till egn smiley..." + msgid "Select Font" msgstr "Välj typsnitt" @@ -11415,9 +11690,21 @@ msgid "Insert Image" msgstr "Infoga bild" +#, c-format +msgid "" +"This smiley is disabled because a custom smiley exists for this shortcut:\n" +" %s" +msgstr "" +"Denna mileyn är avaktiverad eftersom en egendefinierad smiley redan " +"existerar för denna genvägen:\n" +" %s" + msgid "Smile!" msgstr "Smile!" +msgid "_Manage custom smileys" +msgstr "Hantera egna s_mileys" + msgid "This theme has no available smileys." msgstr "Detta tema har inga tillgängliga smileys." @@ -12138,6 +12425,12 @@ msgid "Play" msgstr "Spela upp" +msgid "_Browse..." +msgstr "_Bläddra..." + +msgid "_Reset" +msgstr "Åte_rställ" + msgid "_Report idle time:" msgstr "_Rapportera inaktivitetstid:" @@ -12308,6 +12601,47 @@ msgid "Status for %s" msgstr "Status för %s" +msgid "Custom Smiley" +msgstr "Egen Smiley" + +msgid "More Data needed" +msgstr "Mer Data behövs" + +msgid "Please provide a shortcut to associate with the smiley." +msgstr "Var god ange en genväg att assocciera med den valda smileyn." + +msgid "Duplicate Shortcut" +msgstr "Duplicera genvägen" + +msgid "" +"A custom smiley for the selected shortcut already exists. Please specify a " +"different shortcut." +msgstr "" +"En egen smiley för den valda genvägen existerar redan. Var vänlig ange en " +"annorlunda genväg." + +msgid "Please select an image for the smiley." +msgstr "Ange en bild för smileyn." + +msgid "Edit Smiley" +msgstr "Redigera Smiley" + +msgid "Add Smiley" +msgstr "Lägg till Smiley" + +msgid "Smiley _Image" +msgstr "Smiley-_bild" + +#. Smiley shortcut +msgid "Smiley S_hortcut" +msgstr "Smiley-_genväg" + +msgid "Smiley" +msgstr "Smiley" + +msgid "Custom Smiley Manager" +msgstr "Hanterare för egna Smileys" + msgid "Waiting for network connection" msgstr "Väntar på nätverksanslutning." @@ -12446,6 +12780,9 @@ msgid "_Open Mail" msgstr "_Öppna brev" +msgid "_Edit" +msgstr "R_edigera" + msgid "Pidgin Tooltip" msgstr "Pidgin verktygstips" @@ -13157,7 +13494,7 @@ #. *< name #. *< version msgid "Conversation Window Send Button." -msgstr "" +msgstr "Skicka-knapp i konversationsfönster" #. *< summary msgid "" @@ -13427,3 +13764,46 @@ #. * description msgid "This plugin is useful for debbuging XMPP servers or clients." msgstr "Denna modul är användbar vid felsökning av XMPP serverar och klienter." + +#~ msgid "Error setting socket options" +#~ msgstr "Fel vid angivning av socket-val" + +#~ msgid "" +#~ "Windows Live ID authentication: cannot find authenticate token in server " +#~ "response" +#~ msgstr "" +#~ "Windows Live ID autentisering: Kunde inte finns autentiseringsmarkös i " +#~ "serverns svar" + +#~ msgid "Windows Live ID authentication Failed" +#~ msgstr "Windows Live ID autentisering misslyckades" + +#~ msgid "Too evil (sender)" +#~ msgstr "För onskefull (avsändare)" + +#~ msgid "Too evil (receiver)" +#~ msgstr "För onskefull (mottagare)" + +#~ msgid "Available Message" +#~ msgstr "Tillgängliga meddelanden" + +#~ msgid "Away Message" +#~ msgstr "Frånvaromeddelande" + +#~ msgid "<i>(retrieving)</i>" +#~ msgstr "<i>(mottar)</i>" + +#~ msgid "Code [0x%02X]: %s" +#~ msgstr "Kod [0x%02X]: %s" + +#~ msgid "Group Operation Error" +#~ msgstr "Gruppoperationsfel" + +#~ msgid "Error requesting login token" +#~ msgstr "Problem att efterfråga inloggningsmarkör" + +#~ msgid "TCP Address" +#~ msgstr "TCP-adress" + +#~ msgid "UDP Address" +#~ msgstr "UDP-adress"